我正在使用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
...等等 . 对于每个库,列表都是这样的 .
正如你可能看到的那样,我已经意识到ld.exe似乎自动生成的(IMO)奇怪的“lib”和“.a” . 这些库都正确命名 . 例如,“freetype_d”实际上是“libfreetype_d.a” .
我之前也添加了正确的库路径,如下所示:
-L“C:\ Coding \ Ogre \ make-debug \ sdk \ lib \ Debug \” - L“C:\ Coding \ Ogre \ make-debug \ sdk \ lib \ Debug \ opt \”
每个库文件都在这两个文件夹中的一个 .
这是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
我在这里想念的是什么?
2 回答
在Windows上,当您添加库路径“-L”并单击“文件系统”时,Eclipse会为您提供带有“\”的路径,将其更改为“/”并且它将起作用!
看起来你应该尝试从库名中删除“_d”并添加-DDEBUG . 此外,调试库可以存储在单独的ogre目录中 .