我正在使用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 < / p>
我在这里缺少什么?
答案 0 :(得分:16)
在Windows上,当您添加库路径“-L”并单击“文件系统”时,Eclipse会为您提供带有“\”的路径,将其更改为“/”并且它将起作用!
答案 1 :(得分:0)
看起来你应该尝试从库名中删除“_d”并添加-DDEBUG。此外,调试库可以存储在单独的食人魔目录中。