状況:
Eclipseのコンパイラ設定で-m32オプションを付けて、32bit実行ファイルを生成しようとしたが、コンパイルは通る(.oファイルは出来る)が、リンクでエラーになってしまう。
コンパイルオプション -m32
『i386 architecture of input file `src\test_c.o' is incompatible with i386:x86-64 output』
コンパイルオプションとリンカオプション -m32
『cannot find -ladvapi32』
『skipping incompatible h:/pleiades/eclipse/mingw/bin/.』
原因考察:
ライブラリのパス設定ミスかと思ったが、そうではなくて32bit版libが無いためだった。(もちろん、たとえ32bit版libがあっても64bitリンカが32bitリンク出来ない可能性もある、、、)
対応考察:
MinGWの32bit版をダウンロードして、そこにある32bit版libにパスを通すなりコピーしようと思った。
対応1:とりあえず32bit実行ファイル生成可能に
MinGWの32bit版をインストール(zip版なので解凍しただけ)した。そしてその32bit版でコンパイルしてみた。無事、32bitの実行ファイルが出来て実行できた。
対応2:Eclipseで使える様にする。
さてその32bit版libにパスを通そうとEcpilseの設定を開いたが、そこで『MINGW_HOMEだけ変えて、この32bit版MinGWでコンパイルすればいいんじゃね?』と思ったので、MINGW_HOMEに32bit版MinGWのパスを設定しコンパイルしてみた。無事、32bitの実行ファイルが出来て実行できた。
これで解決。
返信削除--------------+-------+------+------+-----
神学校 町26 07:21 06:51
下根岸 07:31 06:59
--------------+-------+------+------+-----
下根岸 町30 07:43 07:07
橋本駅北口 08:12 07:36
--------------+-------+------+------+-----
橋本駅北口 八77 08:20 07:50
八王子駅南口 08:52 08:22
--------------+-------+------+------+-----
橋52 相模原駅北口行
橋55 相模原駅南口行
--------------+-------+-----
神学校 町26 06:01
下根岸 06:09
--------------+-------+-----
下根岸 町30 06:17
忠生都営住宅前 06:20
--------------+-------+------+------+-----
桜美林学園前 淵65,30 06:37 06:28 06:17
淵野辺駅北口 06:44 06:33 06:24
--------------+-------+------+------+-----
淵野辺駅南口 淵35 06:55 06:45 06:35
光が丘一丁目 07:04 06:53 06:43
--------------+-------+-----
光が丘一丁目 07:07 (相模原駅南口 相27 06:55)
北里大学病院 07:23
相武台前駅 07:42
--------------+-------+-----
相武台前駅 綾76 08:07
栗原交番前 08:15
下栗原 08:16
さがみ野駅北口 08:22
--------------+-------+-----