Sarc Posté 21 Mai 2005 Posté 21 Mai 2005 Salut à tous Je sais qu'on est sur un forum de webmasters, mais bon, qui dit webmasters dit programmeurs, et qui dit programmeurs dit C++, et puis je suis ici à l'aise pour poser ma question... Je suis donc excusé de cet écart ? (Sinon, appuyez sur delete ) Voilà, j'ai décidé de me mettre à C++ pour élargir un peu mon panel de connaissances : ça ressemble pas mal à PHP dans la structure, et puis j'avais déjà deux trois notions, donc je suis pas complètement dépaysé... Vu que je compte apprendre la programmation OpenGL et/ou DirectX histoire de faire des choses plus sympas, je me suis procuré des tutoriaux... OpenGL : Compilateur: Default compilerExécution de gcc.exe... gcc.exe "C:\Dev-Cpp\cube.c" -o "C:\Dev-Cpp\cube.exe" -g3 -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -g3 C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0x2a): In function `initFunction': C:/Dev-Cpp/cube.c:18: undefined reference to `glClearColor_AT_16' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0x57): In function `reshapeFunction': C:/Dev-Cpp/cube.c:25: undefined reference to `glViewport_AT_16' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0x66):C:/Dev-Cpp/cube.c:28: undefined reference to `glMatrixMode_AT_4' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0x6e):C:/Dev-Cpp/cube.c:29: undefined reference to `glLoadIdentity_AT_0' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0xb7):C:/Dev-Cpp/cube.c:33: undefined reference to `glOrtho_AT_48' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0xfc):C:/Dev-Cpp/cube.c:36: undefined reference to `glFrustum_AT_48' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0x10b):C:/Dev-Cpp/cube.c:39: undefined reference to `glMatrixMode_AT_4' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0x113):C:/Dev-Cpp/cube.c:40: undefined reference to `glLoadIdentity_AT_0' C:\DOCUME~1\Moi\LOCALS~1\Temp/cc4Abaaa.o(.text+0x151):C:/Dev-Cpp/cube.c:43: undefined reference to `gluLookAt_AT_72' [... ZIP ...] collect2: ld returned 1 exit status Exécution terminée Bon, je vois des premiers problèmes sur OpenGL, et malgré tout ce que j'ai trouvé dans les autres forums, pas trouvé l'erreur... Apparement, les versions des librairies fusent et ne se ressemblent pas forcément, donc je ne sais pas si c'est un problème de librairie ou de configuration de Dev-CPP... Pour me consoler et voir un exemple de programme qui marche, je télécharge le tuto DirectX... Ici : Exécution de g++.exe...g++.exe "C:\Dev-Cpp\2dchap1.cpp" -o "C:\Dev-Cpp\2dchap1.exe" -g3 -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -g3 C:\Dev-Cpp\2dchap1.cpp: In function `void setmode(unsigned int)': C:\Dev-Cpp\2dchap1.cpp:44: error: expected `(' before '{' token C:\Dev-Cpp\2dchap1.cpp:44: error: expected asm body before '{' token C:\Dev-Cpp\2dchap1.cpp:45: error: `MOV' undeclared (first use this function) C:\Dev-Cpp\2dchap1.cpp:45: error: (Each undeclared identifier is reported only once for each function it appears in.) C:\Dev-Cpp\2dchap1.cpp:45: error: expected `;' before "AX" C:\Dev-Cpp\2dchap1.cpp: At global scope: C:\Dev-Cpp\2dchap1.cpp:62: error: `main' must return `int' C:\Dev-Cpp\2dchap1.cpp: In function `int main(...)': C:\Dev-Cpp\2dchap1.cpp:72: error: `randomize' undeclared (first use this function) C:\Dev-Cpp\2dchap1.cpp:91: error: `random' undeclared (first use this function) Exécution terminée Vu que les commentaires étaient bon, je me suis dis que les programmes marcheraient (d'autant plus que l'exécutable est fourni avec, et marche...), et bah non, je ne sais pas les recompiler à partir de Dev-CPP toujours... Donc pas de consolation, je n'ai strictement rien qui marche chez moi ! Programmeurs, programmeuses... une idée ? :/ Merci de m'accorder un peu de votre temps pour ce HS
Dan Posté 21 Mai 2005 Posté 21 Mai 2005 Salut Sarc, As-tu bien la bibliothèque OpenGL ? A mon avis il faut la nommer en ligne de commande... parce que tu ne trouves pas les fonctions OpenGL lors de la compilation. Je ne sais malheureusement pas comment elle s'appelle. Mais c'est le flag -l qu'il faut utiliser. Il faudra peut-être aussi changer le -L"C:\Dev-Cpp\lib" si cette bibliothèque ne se trouve pas dans ce répertoire. Pour l'autre (DirectX), tu as manifestement de l'assembleur dans tes sources.
Sarc Posté 22 Mai 2005 Auteur Posté 22 Mai 2005 Merci beaucoup Dan ! Je me suis rendu compte qu'ils avaient été compilés sour borland c++, enfin bref... Vive le PHP, il n'y a pas 40 compilateurs différents ! Pour les programmes OpenGL, je comprends pas pourquoi il trouve pas les librairies automatiquement, vu qu'elles sont dans le même dossier que les autres, mais en créant un projet et en rajoutant manuellement chaque librairie, ça marche mieux ! Donc merci Dan de tes conseils Je sens que je vais galérer... D'ailleurs, pour ne pas faire trop de hors sujet ici, vous conseillez quoi comme forum pour C++ ?
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant