MinGW/Eclipse ld.exe ne pas trouver les bibliothèques
Je suis à l'aide d'Eclipse CDT essayer de compiler un projet avec le moteur 3D Ogre.
Mais de toute façon mingw n'est pas en mesure de trouver les bibliothèques statiques I link contre.
Ce sont les messages d'erreur:
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: ne peut trouver -lzziplib_d
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: ne peut trouver -lzlib_d
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../mingw32/bin/ld.exe: ne peut trouver -lfreetype_d
...etc. La liste continue comme ça pour chaque bibliothèque.
Comme vous pouvez probablement voir, je suis déjà au courant de l' (OMI) bizarre "lib" et "."les ajouts de la ld.exe semble faire automatiquement. Les bibliothèques sont tous nommés correctement. Ainsi, par exemple, le "freetype_d" est vraiment "libfreetype_d.".
J'ai également ajouté les chemins corrects pour les bibliothèques de l'avant, comme ceci:
-L"C:\Coding\Ogre\make-debug\sdk\lib\Debug\" -L"C:\Coding\Ogre\make-debug\sdk\lib\Debug\opt\"
Et chaque fichier de la bibliothèque est dans un de ces deux dossiers.
C'est ma ligne de commande est affichée par 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
Ce qui me manque ici?
OriginalL'auteur TheSHEEEP | 2012-02-03
Vous devez vous connecter pour publier un commentaire.
Sur Windows, lorsque vous ajoutez des bibliothèques chemin "-L" et cliquez sur "Système de Fichiers" Eclipse vous donne le chemin avec des "\", changer les "/" et cela fonctionnera!
OriginalL'auteur Janek Olszak
semble que vous devriez essayer d'enlever les "_d" de noms de bibliothèque et ajoutez -DDEBUG . Aussi, les bibliothèques de débogage peuvent être stockées dans un autre ogre répertoire.
g++ -L"C:\Coding\Ogre\make-debug\sdk\lib\Debug\" -L"C:\Coding\Ogre\make-debug\sdk\lib\Debug\opt\" -DDEBUG -o "OgreTestMinGW" ./BaseApplication.o ./LowLevelOgre.o -lzziplib -lzlib -lfreetype -lFreeImage -lOIS -lOgreMainStatic -lOgrePagingStatic -lOgrePropertyStatic -lOgreRTShaderSystemStatic -lOgreTerrainStatic -lRenderSystem_GLStatic
Toujours la même erreur: ne peut pas trouver les bibliothèques. En tout cas, pourquoi devrais-je supprimer le "_d"? Est-ce la même chose que le ld.exe interprète en quelque sorte? Dois-je aussi supprimer le "_d" dans les noms de fichiers sur le disque, trop?Il examine également l'éditeur de liens ne pouvez pas trouver zlib et autres libs qui ont été shippend avec mingw. Pourriez-vous sur le post de la sortie de cette commande? Vous devrez peut-être ajouter -L<chemin de freetype, zlib et autres mingw libs>
Comme je l'ai déjà dit, chacun de ces bibliothèques réside dans un des deux dossiers que j'ai ajouté par-L. Et aussi à chaque un seul d'entre eux j'ai compilé moi-même à partir de l'Ogre des sources (et Ogre dépendances). Qui comprend la zlib. Ils sont bien là. Par exemple, il y a un
"C:\Coding\Ogre\make-debug\sdk\lib\Debug\opt\RenderSystem_GLStatic_d.a"
Ouais, mon erreur. Il y a un "lib" devant le nom de fichier. En face de chaque nom de fichier, pour être précis 😉 Le chemin d'accès EST correct. Ma conjecture est que le problème ici, c'est quelque chose de complètement différent.
Hahahaha... L'erreur a été "\" dans le directoy chemin. Je les ai remplacés par "/" et maintenant ça fonctionne. Je tombe pour que l'on à chaque fois 😉
OriginalL'auteur Igore Vitaller