Ich benutze Eclipse CDT, um ein Projekt mit der Ogre 3D Engine zu kompilieren. Aber irgendwie ist mingw nicht in der Lage, die statischen Bibliotheken zu finden, gegen die ich verlinke.
Dies sind die Fehlermeldungen:
c: / mingw / bin / ../ lib / gcc / mingw32 / 4.6.1 /../../../../ mingw32 / bin / ld.exe: kann -lzziplib_d nicht finden
c: / mingw / bin / ../ lib / gcc / mingw32 / 4.6.1 /../../../../ mingw32 / bin / ld.exe: kann -lzlib_d nicht finden
c: / mingw / bin / ../ lib / gcc / mingw32 / 4.6.1 /../../../../ mingw32 / bin / ld.exe: kann -lfreetype_d nicht finden
... usw. Die Liste läuft für jede Bibliothek so ab.
Wie Sie wahrscheinlich sehen können, bin ich mir bereits der (IMO) seltsamen "lib" und ".a" Zusätze bewusst, die die ld.exe automatisch zu machen scheint. Die Bibliotheken sind alle korrekt benannt. So ist zum Beispiel "freetype_d" wirklich "libfreetype_d.a".
Ich habe auch vorher die richtigen Pfade zu den Bibliotheken hinzugefügt, wie folgt:
-L "C: \ Codierung \ Ogre \ make-debug \ sdk \ lib \ Debug \ -L" C: \ Codierung \ Ogre \ make-debug \ sdk \ lib \ Debug \ opt \ "
Und jede Bibliotheksdatei befindet sich in einem dieser beiden Ordner.
Dies ist meine vollständige Befehlszeile, wie sie von Eclipse CDT angezeigt wird:
g ++ -L "C: \ Kodierung \ Ogre \ make-debug \ sdk \ lib \ Debug \ -L" C: \ Kodierung \ 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
Was fehlt mir hier?
Wenn Sie unter Windows den Pfad "-L" hinzufügen und auf "File System" klicken, gibt Eclipse den Pfad mit "\" an, ändern Sie diese in "/" und es soll funktionieren!
sieht so aus, als ob Sie versuchen sollten, "_d" aus Bibliotheksnamen zu entfernen und -DDEBUG hinzuzufügen. Debug-Bibliotheken können auch in einem separaten Ogre-Verzeichnis gespeichert werden.
Tags und Links eclipse eclipse-cdt c++ ld mingw