私は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_BSPSceneManagerStatic_d
ここで何が欠けていますか?
Windowsで、ライブラリパス「-L」を追加して「ファイルシステム」をクリックすると、Eclipseはパスに「\」を付けます。パスを「/」に変更すると、機能します。
ライブラリ名から "_d"を削除して-DDEBUGを追加する必要があるようです。また、デバッグライブラリは別のogreディレクトリに保存できます。