IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Erreur de link sur glGenVertexArrays et glBindVertexArray


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 41
    Par défaut Erreur de link sur glGenVertexArrays et glBindVertexArray
    Bonjour,

    Je débute en OpenGL et je rencontre déjà des soucis pour simplement dessiner un triangle..

    Lors de la compilation j'ai une erreur de link pour les fonctions glGenVertexArrays et glBindVertexArray.

    Les autres fonctions du style glGenBuffers, glBindBuffers etc ont l'air de fonctionner car je n'ai pas ces erreurs.

    Je suis sur VS 2013, j'ai linké glew64, freeglut etc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    GLuint VertexArrayID;
    	glGenVertexArrays(1, &VertexArrayID); // ERREUR ICI
    	glBindVertexArray(VertexArrayID); // ERREUR ICI
     
    	static const GLfloat g_vertex_buffer_data[] = {
    		-1.0f, -1.0f, 0.0f,
    		1.0f, -1.0f, 0.0f,
    		0.0f, 1.0f, 0.0f,
    	};
     
    	GLuint vertexbuffer;
     
    	glGenBuffers(1, &vertexbuffer);
     
    	glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
     
    	glBufferData(GL_ARRAY_BUFFER, sizeof(g_vertex_buffer_data), g_vertex_buffer_data, GL_STATIC_DRAW);
     
    	glEnableVertexAttribArray(0);
    	glBindBuffer(GL_ARRAY_BUFFER, vertexbuffer);
    	glVertexAttribPointer(
    		0,                  correspondre au « layout » dans le shader 
    		3,                 
    		GL_FLOAT,            
    		GL_FALSE,    
    		0,
    		(void*)0 
    		);
     
    	glDrawArrays(GL_TRIANGLES, 0, 3); // Démarre à partir du sommet 0; 3 sommets au total -> 1 triangle 
     
    	glDisableVertexAttribArray(0);
    Je suppose que j'ai la version 4 d'OpenGL car j'ai téléchargé CUDA en même temps et les .lib d'OpenGL étaient dedans.


    Quelqu'un aurait-il une idée ?

    Merci

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 036
    Billets dans le blog
    12
    Par défaut
    Bonjour!

    Peux-tu mettre les erreurs de link que tu rencontres?

    Ensuite, tu dis avoir linked glew64, mais tu compiles bien ton application en x64?
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 41
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error LNK2001: symbole externe non résolu __imp___glewGenVertexArrays
    error LNK2001: symbole externe non résolu __imp___glewBindVertexArrays
    Concernant la compilation en x64, oui c'est fait.

  4. #4
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 036
    Billets dans le blog
    12
    Par défaut
    Peux-tu coller la ligne de commande de link? (Proprietes de projet, Link)
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 41
    Par défaut
    Dans le sous menu "Ligne de commande" du Linker je n'ai rien du tout.

    Voici la liste des dépendances qui sont dans le sous menu "entrée"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    cudart.lib
    kernel32.lib
    user32.lib
    gdi32.lib
    winspool.lib
    comdlg32.lib
    advapi32.lib
    shell32.lib
    ole32.lib
    oleaut32.lib
    uuid.lib
    odbc32.lib
    odbccp32.lib
    freeglut.lib
    glew64.lib
    Je dois regarder au mauvais endroit...

    sinon voici la ligne de commande mon fichier CUDA bien que le soucis se trouve dans le main.cpp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "D:\Nvidia\CUDA\v7.5\bin\nvcc.exe" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --use-local-env --cl-version 2013 -ccbin "D:\Visual Studio\VC\bin\x86_amd64"  -ID:\Nvidia\CUDA\v7.5\include -ID:\Nvidia\CUDA\v7.5\include     --keep-dir x64\Release -maxrregcount=0  --machine 64 --compile -cudart static     -DWIN32 -DWIN64 -DNDEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /O2 /Zi  /MD " -o x64\Release\KernelComputation.cu.obj "C:\Users\curseFixe\documents\visual studio 2013\Projects\ProjetIF6042\ProjetIF6042\KernelComputation.cu"
    Dans mon projet j'ai un fichier .cu qui fera mes calculs en CUDA et un main.cpp qui initialise mon OpenGL. Ce fichier est bien configuré pour être compilé avec un compilateur C++ tandis que l'autre avec un compilateur CUDA C++.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 41
    Par défaut
    J'ai tenté de mettre ces deux lignes dans un projet CUDA fourni en tant qu'exemple quand tu le télécharges. Ca fait exactement la même erreur...

    Ce que je ne comprends pas c'est que les deux fonctions sont dans les même fichier (glew.h) que d'autres fonctions utilisées en-dessous et qui n'ont pas d'erreur de link.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/12/2006, 17h54
  2. [Erreur au link sur GTKmm] buttonbox.cpp
    Par Jean_Benoit dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 25/10/2006, 09h48
  3. Erreur de link sur setw().
    Par Rupella dans le forum Visual C++
    Réponses: 7
    Dernier message: 29/07/2006, 14h00
  4. [wxWindows] Erreur de link pour ODBC
    Par ovh dans le forum wxWidgets
    Réponses: 3
    Dernier message: 28/01/2004, 16h38
  5. DirectDrawCreate erreur de link
    Par Ing_Ben dans le forum DirectX
    Réponses: 1
    Dernier message: 01/12/2002, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo