MinGW / Eclipse ld.exe找不到库

时间:2012-02-03 11:03:37

标签: c++ eclipse mingw eclipse-cdt ld

我正在使用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_BSPSce​​neManagerStatic_d < / p>

我在这里缺少什么?

2 个答案:

答案 0 :(得分:16)

在Windows上,当您添加库路径“-L”并单击“文件系统”时,Eclipse会为您提供带有“\”的路径,将其更改为“/”并且它将起作用!

答案 1 :(得分:0)

看起来你应该尝试从库名中删除“_d”并添加-DDEBUG。此外,调试库可以存储在单独的食人魔目录中。