dポイントプレゼントキャンペーン実施中!

eclipse+MinGWの環境で glfw3 というライブラリを使おうとしたのですがビルド中に下記のようにエラーが出てしまいます。 当方の設定が何かおかしいのだとは思いますが、初心者で具体的に何を見ればいいのか見当がつかないのでお知恵をお貸しいただければ幸いです。
glfw3dll.a と libglfw3.a は eclipse\mingw\lib に入れてます。
glfw3.dll は windows\system32 に入れました。


Info: Internal Builder is used for build
g++ -o TEST.exe "source\\main.o" -lglfw3 -lopengl32 -lgdi32 -luser32 -lkernel32 -lglu32
D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../lib/libglfw3.a when searching for -lglfw3
D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../lib\libglfw3.a when searching for -lglfw3
D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../libglfw3.a when searching for -lglfw3
D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../..\libglfw3.a when searching for -lglfw3
D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../lib/libglfw3.a when searching for -lglfw3
D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../libglfw3.a when searching for -lglfw3
D:/pleiades/eclipse/mingw/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lglfw3
collect2.exe: error: ld returned 1 exit status

質問者からの補足コメント

  • へこむわー

    海外のフォーラムを確認したところ、どうも64bit(or 32bit)環境にて32bit(or 64bit)のライブラリを利用しようとした際によく起こる現象だという指摘を見つけました。 
    試しに64bit版のライブラリを移用したところ、難なくコンパイルすることが出来ました。 MinGW側は32bit環境だと勝手に思い込んでいましたがどうやら64bit環境だったようです。
    お騒がせしてすみませんでした。

      補足日時:2015/10/05 14:11

A 回答 (3件)

http://www.glfw.org/download.html
↑ここからコンパイル済みライブラリをダウンロードして解凍し、lib-mingwフォルダにあるglfw3dll.aをlibglfw3.aへリネームして使う必要があります。
    • good
    • 0

そのインポートライブラリはwindows用のものでしょうか?ひょっとして、Linux用のものでは?

    • good
    • 0

"-l"オプションで指定するライブラリの実際の名前はlibが先頭に、末尾に.aがつくので、-lglfw3はlibglfw3.aを指定したことになりす。

よって、リンカーはlibglfw3.aを検索して見つけていますが、そのライブラリは「互換性が無い」という理由でスキップされています。ご質問に記述されているglfw3dll.aを使用する必要があるのでは?試しにglfw3dll.aをlibglfw3.aへリネームすることをおススメします。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます
glfw3dll.a を libglfw3.a へリネームしてみましたが結果は変わらず、skipping incompatible が6行ほど表示され cannot find となってしまいました

お礼日時:2015/10/05 13:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!