CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Linker Error dans une source OpenGL

uv_blackangel
uv_blackangel
Niveau 4
05 juillet 2005 à 21:44:16

Je viens de télécharger la source 3_01_opengl1.cpp du site de JeanYvesYves mais j´ai un problème à la compilation dans dev c++. Ces messages concernent des commandes SDL (
[Linker error] undefined reference to `SDL_Quit´
par exemple) et Glut (
[Linker error] undefined reference to `glShadeModel@4´)

Je ne comprends car je trouve pourtant tous les fichiers de librairie dans le dossier lib et j´ai installé SDL en suivant la procédure à la lettre, d´ailleur j´arrive à compiler les exercices SDL sans problème... :snif2:

Pour info, ma version de dev c++ est la 4.9.7.0. Peut être que le fait que ce soit une ancienne version y est pour quelque chose...

Ptival
Ptival
Niveau 10
05 juillet 2005 à 21:47:36

Tu as bien linké :

SDLmain
SDL
opengl32
glu32

? ??

uv_blackangel
uv_blackangel
Niveau 4
05 juillet 2005 à 21:56:40

Linké??? Tout le code est laissé tel quel, comme JYY l´a mis sur son site. En revanche, je n´ai rajouté que les options SDL dans les paramètres du compilateur si c´est ça que tu veux dire. Il faut rajouter quelque chose pour OpenGL et Glut? Ce qui m´étonne c´est que les exercices consacrés uniquement à SDL marchent sans erreurs et que je me retrouve avec des erreurs SDL dans ce projet... :ouch:

gollumkawder
gollumkawder
Niveau 10
06 juillet 2005 à 11:03:35

" et Glut (
[Linker error] undefined reference to `glShadeModel@4´) "

Ce n´est pas une fonction de la librairie GLUT, sinon la fonction ressemblait a quelque chose style glutFoo(). Les " undefined references" du linker sont principalement dues au fait que tu n´as pas linké les libs. J´imagine que tu utilises DevC++ et MinGW donc je ferais pas de pas-a-pas. Ca doit etre quelque chose comme -lopengl -lsdl -glut

" Il faut rajouter quelque chose pour OpenGL et Glut?"

Of coz ! Comment veux tu que ton linker trouve les références faites aux librairies ?

" Ce qui m´étonne c´est que les exercices consacrés uniquement à SDL marchent sans erreurs et que je me retrouve avec des erreurs SDL dans ce projet."

100 contre 1 que c´est une erreur de manip´
Suit bien les instructions des tutoriaux.

NB: Sous Visual Studio on a le choix entre linker dans les options du projet ou utiliser le pragma comment, ce qui n´est pas réputé fonctionnel si vous me suivez :sarcastic:

gollumkawder
gollumkawder
Niveau 10
06 juillet 2005 à 11:04:47
  • ressemblerait

On est pas chez mémé non plus..

JeanYvesYves
JeanYvesYves
Niveau 10
06 juillet 2005 à 11:08:40

tres bizarre que ça te parle de glut !
tu es sur que ce n´est pas plutot " glu" ?

Bref, n´oublie pas les :

-lopengl -lglu
en + de tes link SDL.

Bizarre l´erreur sur SDL_quit...
Essaie de vérifier déja les -l
ensuite, au pire, enleve carrément le SDL_Quit, mais c´est bizarre !

Tiens moi au courant

uv_blackangel
uv_blackangel
Niveau 4
06 juillet 2005 à 19:09:25

Bon, en fait, j´avais oublié de rajouter
-lSDLmain -lSDL dans les paramètres du compilateur :o)). Maintenant, dans les paramètres j´ai tapé:
-lmingw32 -lSDLmain -lSDL -lopengl -lglu
J´ai quand même 2 erreurs:

\Juju\Dev-Cpp\Bin\..\lib\gcc-lib\mingw32\2.95.3-6\
..\..\..\..\mingw32\bin\ld.exe D:\Juju\Dev-Cpp\My projects\sdl\D
cannot find -lopengl

D:\Juju\Dev-Cpp\My projects\sdl\Makefile.win
[Build Error] [sdl.exe] Error 1

( Sachant que SDL est le nom de mon projet...)

JeanYvesYves
JeanYvesYves
Niveau 10
06 juillet 2005 à 19:42:45

Regarde si tu as opengl.a ou libopengl.a ou libgl.a dans ton repertoire . lib de dev.

Dis moi lequel tu as, je corrigerai :)
Et dans ce cas la, il faut mettre :

-lgl -lglu

tiens moi au courant :)

Ptival
Ptival
Niveau 10
06 juillet 2005 à 19:49:31

T´as essayé comme je t´ai dit plus haut ?

-lmingw32 -lSDLmain -lSDL -lopengl32 -lglu32

JeanYvesYves
JeanYvesYves
Niveau 10
06 juillet 2005 à 19:52:07

Ah ! ptival a raison je crois.
Essaie comme il dit. Sinon, regarde dans ton repertoire lib le nom des lib opengl :)

uv_blackangel
uv_blackangel
Niveau 4
06 juillet 2005 à 19:56:20

Que d´étourderies....Désolé Ptival mais j´avais pas vu le 32 derrière lopengl et lglu :desole:

Maintenant tout marche!!
Mici beaucoup Ptival :coeur:

JeanYvesYves
JeanYvesYves
Niveau 10
06 juillet 2005 à 19:59:27

Si tu veux bien voir les différentes options de OpenGL, lis bien tout le tuto, y´a des manips a faire :)

uv_blackangel
uv_blackangel
Niveau 4
06 juillet 2005 à 20:35:08

Mouaip...allez chuis motivé....Heu, encore une question: Est ce nécessaire d´apprendre les commandes du C pour le C++? Parce qu´en fait, je shouaite vraiment avoir les bases du langage avant de m´attaquer à la programmation graphique...Même si je m´amuse à compiler tes sources JYY :-p. Bah, OpenGL c´est pour plus tard! Au fait, pour quand est ce que la sortie d´OpenGL 2.0 est elle prévue? :-)

JeanYvesYves
JeanYvesYves
Niveau 10
06 juillet 2005 à 20:46:26

" Est ce nécessaire d´apprendre les commandes du C pour le C++"
--> Ben ça ne pourrait que t´etre bénéfique :-)
Moi a ta place je commencerais par apprendre les bases !

gollumkawder
gollumkawder
Niveau 10
06 juillet 2005 à 20:48:22

Si tu maitrises le C tu connais une bonne partie du C++

OpenGL 2.0, personne ne sait vraiment, a fait maintenant quelques temps que les trois principaux manufacturers presentent l´ogl 2.0 en feature de leurs drivers: 3DLabs, ATI et Nvidia. Le probleme c´est que comme tu le sais Opengl n´est pas actualisé sur plateforme Windows, ça s´arrete a la 1.1 qui date de 1996. Pour beneficier du reste ( 1.2,1.5,2.0..) Il faut utiliser une librairie spéciale, autrement dit tu n´auras pas de headers opengl 2.0, ni de librairies, ni de Dll. Tout ça se passe via ton code, je parle bien sur des extensions. Et c´est la ou avoir une bonne carte graphique est important car les fonctions propres a chaque manufacturers sont la base de l´OpenGL 2.0, on a bien sur l´ARB, mais aussi ATI, Nvidia qui font leurs propres extensions. Ce n´est pas veritablement uniformisé..

Pour plus de renseignement je te renvois a la doc d´opengl.org le site de référence, gamedev.net fait l´affaire pour une intro rapide aux extensions opengl 2.0..

gollumkawder
gollumkawder
Niveau 10
06 juillet 2005 à 20:50:56

http://www.opengl.org/documentation/opengl_current_version.html

http://www.realtech-vr.com/glview/extensions.html

Le dernier lien est un super tool pour savoir ce que ta carte supporte au niveau des extensions

JeanYvesYves
JeanYvesYves
Niveau 10
06 juillet 2005 à 20:51:48

je ne suis pas d´accord pour la version 1.1.
les dll des pilotes de cartes permettent d´exploiter les nouvelles versions :)
Les headers restrent identiques, mais la souplesse des fonctions ( comme par exemple la tolérance des texture de n´importe quel format) a évolué :)

OpenGL n´est pas vraiment une révolution ai je entendu... Ils ont gardé la meme chose et l´on un peu amélioré, enfin on verra quand il viendra :)

gollumkawder
gollumkawder
Niveau 10
06 juillet 2005 à 21:00:07

Oui pour les dll, je parlais des dll Microsoft, ça yen a pas des nouvelles, bien sur il faut comprendre que l´implé OpenGL 2.0 reste a la charge du constructeur, mais c´etait pas évident a comprendre désolé ( le sujet est tellement rabaché sur le forum opengl.org qu´on en oublie comment ça marche :rire: )

Sinon, moi je pense que c´est une revolution, parcequ´officielement le GLSL est un feature opengl 2.0, et que moi gnaime bien lé shader languages :content:

http://www.opengl.org/documentation/specs/version2.0/glspec20.pdf

uv_blackangel
uv_blackangel
Niveau 4
06 juillet 2005 à 21:03:38

Je n´ai jamais codé ni en OpenGL ni en DirectX mais je suis certain qu´OpenGL est bien plus performante...Elle a réussi a garder la tête haute en 1 version 1/2 devant microsoft qui a décliné DirectX en 9 versions. Respect. Bon encore 2 dernières questions :

:d) Est il plus facile de programmer pour OpenGL ou pour Direct3D?

:d) Est ce que OpenGL est open source?

gollumkawder
gollumkawder
Niveau 10
06 juillet 2005 à 21:06:30

" Je n´ai jamais codé ni en OpenGL ni en DirectX mais je suis certain qu´OpenGL est bien plus performante."

Ouh qu´il est poilu celui là :lol:

" Est il plus facile de programmer pour OpenGL ou pour Direct3D? "

Largement plus facile en OpenGL, mais la facilité ne fait pas tout..

" Est ce que OpenGL est open source? "

Non, elle appartient a SGI, mais elle est très portable

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment