2010-08-29 7 views
0

J'essaie de faire fonctionner OpenGL et Glut sur Eclipse Linux FC13.GCC C++ Linker section sur FC13

Après avoir passé deux jours dessus, j'avoue que de l'aide est nécessaire. Sur FC13 Eclipse, je vois /usr/include/GL et /usr/include/SDL - donc les libs sont là. J'ai commencé Eclipse, puis j'ai essayé d'exécuter un programme simple, comme suggéré here. Cependant, deux choses ont été portées disparues dans ces étapes:

  1. Callisto n'a pas pu être installé - rien n'a été trouvé à partir du référentiel
  2. GCC C++ Linker ne trouve nulle part pour Eclipse 3.5.2.

Lorsque vous essayez d'exécuter le programme, je vois cette erreur:

Program does not exist

et parfois

Binary not found

Si je viens de lancer le « Bonjour tout le monde », il fonctionne, mais autrement, les des erreurs se produisent chaque fois que j'essaie d'inclure des commandes glut gl ou sdl.

Voici un extrait de l'erreur du compilateur:

make all 
g++ -O2 -g -Wall -fmessage-length=0 -c -o tw.o tw.cpp 
tw.cpp: In function ‘void main_loop_function()’: 
g++ -o tw tw.o 

Oui, apparemment le compilateur n'est pas en mesure de voir la glu, gl, et les bibliothèques sdl GLUT.

Quelques suggestions pour résoudre ce problème?

Répondre

2

Vous devez indiquer au compilateur que votre programme utilise des bibliothèques supplémentaires.

Utilisez l'argument -l

g++ -O2 -g -Wall -fmessage-length=0 -lglut -lGL -lGLU -lX11 -c -o tw.o tw.cpp 

Cela devrait aider contre les erreurs de liaison non satisfaite.

Vous pouvez les définir dans les propriétés de votre projet. Propriétés-> c/C++ Build-> Paramètres-> Paramètres de l'outil-> Éditeur de liens

+0

Merci. maintenant le lieur a la lib. Agréable. – ThreaderSlash

+0

Voici ce qu'il montre maintenant: faire tout cible de construction: zdt4 Invoquer: GCC C Linker gcc -LGL -lSDL -Lglut -o "zdt4" ./zdt4.o alors ..il est à un seul message d'erreur: collect2: ld retourné 1 état de sortie make: *** [zdt4] Erreur 1 et beaucoup de message comme celui- référence non définie à 'glClear » référence non définie à 'glViewport ' référence indéfinie à 'glutInit' une suggestion? – ThreaderSlash

+0

ce message d'erreur est parti - référence non définie à 'glViewport '! agréable. maintenant juste laissé ce message gênant: erreur: attendu '=', ',', ';', 'asm' ou '__attribute__' avant 'clé' cela a déclaré dans le haut du programme que "bool key [321] ". une idée? – ThreaderSlash

1

Vérifiez si le compilateur est capable de trouver les fichiers d'en-tête appropriés ou non. Sinon, vous êtes sûr d'obtenir des erreurs de compilation. Essayez d'utiliser l'option -I pour définir les chemins appropriés.

Une fois que vous avez corrigé cela, vérifiez s'il existe des erreurs de l'éditeur de liens (symboles/références non définis ou le tri). Si vous faites: Essayez de définir les chemins d'accès aux bibliothèques à l'aide de l'option -L et demandez au compilateur de lier dans les bibliothèques spécifiques en utilisant l'option -l. Notez que ce dernier attend quelque chose comme -lmath où en réalité la bibliothèque reliée est en réalité appelée libmath.so ou libmath.a (selon le cas).