MinGW / Eclipse ld.exe не находит библиотеки - PullRequest
12 голосов
/ 03 февраля 2012

Я использую 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 \ "

Икаждый файл библиотеки находится в одной из этих двух папок.

Это моя полная командная строка, отображаемая 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 ]

16 голосов
/ 04 июля 2012

В Windows, когда вы добавляете путь к библиотекам "-L" и нажимаете "Файловая система", Eclipse дает вам путь с помощью "\", измените его на "/", и он будет работать!

0 голосов
/ 03 февраля 2012

похоже, что вы должны попытаться удалить "_d" из имен библиотек и добавить -DDEBUG. Кроме того, библиотеки отладки могут храниться в отдельном каталоге ogre.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...