web-dev-qa-db-ja.com

MinGW / Eclipse ld.exeがライブラリを見つけられない

私はEclipse CDTを使用して、Ogre 3Dエンジンでプロジェクトをコンパイルしようとしています。しかし、どういうわけかmingwは、リンク先の静的ライブラリを見つけることができません。

これらはエラーメッセージです:

c:/ mingw/bin /../ lib/gcc/mingw32/4.6.1 /../../../../ mingw32/bin/ld.exe:-lzziplib_dが見つかりません

c:/ mingw/bin /../ lib/gcc/mingw32/4.6.1 /../../../../ mingw32/bin/ld.exe:-lzlib_dが見つかりません

c:/ mingw/bin /../ lib/gcc/mingw32/4.6.1 /../../../../ mingw32/bin/ld.exe:-lfreetype_dが見つかりません

...等。リストは、ライブラリごとにこのようになります。

おそらくおわかりのように、(IMO)の奇妙な「lib」と「.a」の追加は、ld.exeによって自動的に行われるようです。ライブラリはすべて正しく名前が付けられています。たとえば、「freetype_d」は実際には「libfreetype_d.a」です。

次のように、ライブラリへの正しいパスも以前に追加しました。

-L "C:\ Coding\Ogre\make-debug\sdk\lib\Debug \" -L "C:\ Coding\Ogre\make-debug\sdk\lib\Debug\opt \"

また、各ライブラリファイルは、これら2つのフォルダのいずれかにあります。

これは、Eclipse CDTによって表示される私の完全なコマンドラインです。

g ++ -L "C:\ Coding\Ogre\make-debug\sdk\lib\Debug \" -L "C:\ Coding\Ogre\make-debug\sdk\lib\Debug\opt \" -o "OgreTestMinGW" ./BaseApplication.o ./LowLevelOgre.o -lzziplib_d -lzlib_d -lfreetype_d -lFreeImage_d -lOIS_d.dll -lOgreMainStatic_d -lOgrePagingStatic_d -lOgrePropertyStatic_d -lOgreRTShaderSystemStatic_d -lOgreTerrainStatic_d -lRenderSystem_GLStatic_d -lPlugin_ParticleFXStatic_d -lPlugin_PCZSceneManagerStatic_d -lPlugin_OctreeZoneStatic_d -lPlugin_OctreeSceneManagerStatic_d -lPlugin_CgProgramManagerStatic_d -lPlugin_BSPSce​​neManagerStatic_d

ここで何が欠けていますか?

12
TheSHEEEP

Windowsで、ライブラリパス「-L」を追加して「ファイルシステム」をクリックすると、Eclipseはパスに「\」を付けます。パスを「/」に変更すると、機能します。

16
Janek Olszak

ライブラリ名から "_d"を削除して-DDEBUGを追加する必要があるようです。また、デバッグライブラリは別のogreディレクトリに保存できます。

0
Igore Vitaller