Problèmes avec GLEW en utilisant MinGW: Undefined reference to '_imp__glewExperimental.'
Je suis en utilisant GLEW version 1.10.0 avec MinGW (Par le biais de l'IDE CodeBlocks), en cours d'exécution sur Windows 8. J'ai téléchargé les binaires pour Windows à partir de la GLEW site web, et ont été de liaison pour les bibliothèques incluses avec qui construire.
J'ai un problème de liaison que je n'arrive pas à trouver une réponse. J'ai suivi l'installation sur le GLEW page d'accueil. J'ai fait référence à l'éditeur de liens pour le glew32.lib, ainsi que les autres libs comme opengl32 et glu32.
Malheureusement, la compilation de ce code (je suis aussi à l'aide de GLFW pour le contexte/gestion de la fenêtre):
#include <stdio.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#define TRUE 1
#define FALSE 0
int main()
{
GLFWwindow *window;
if (!glfwInit())
return -1;
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3.0);
window = glfwCreateWindow(640, 480, "Hello World!", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
//Initialize GLEW
glewExperimental=TRUE;
GLenum err = glewInit();
if (err!=GLEW_OK)
fprintf(stderr, "Could not initialize GLEW!");
printf("%s\n", glGetString(GL_VERSION));
while (!glfwWindowShouldClose(window))
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate();
return 0;
}
J'obtiens l'erreur:
*undefined reference to imp_glewExperimental*
Même si je suis novice en C, comme je le comprends, cela signifie que je fais allusion à quelque chose qui n'a pas de définition, ce qui signifie généralement la bibliothèque est manquant. Dans ce cas, je ont inclus la bibliothèque, et je n'ai pas d'erreurs que ce soit à propos de l'autre GLEW références que j'ai faites, comme glewInit, dont je sens qu'il convient également de se plaindre devrait-il être un problème de bibliothèques manquantes.
J'ai essayé de rechercher sur le web, mais simplement, je n'ai rien trouvé sur ce problème.
Quelqu'un a des idées? 🙂
Merci beaucoup à tous pour votre temps. Il est beaucoup appriciated.
OriginalL'auteur CodingBeagle | 2013-07-29
Vous devez vous connecter pour publier un commentaire.
Il semble que j'ai résolu le problème. Pour ceux qui voudrais savoir, il semble que le problème a été pré-construire des binaires pour Windows à partir de la GLEW site web, car ils proviennent de Visual Studio (ils sont .fichiers lib). J'ai été en utilisant MinGW pour faire de la compilation. Dès que j'ai essayé de compiler GLEW moi-même en utilisant MinGW pour créer une .une archive, il a travaillé.
Il y a déjà une réponse sur stackoverflow sur la façon de compiler GLEW pour MinGW, et peut être trouvé à droite ici.
make
avec succès, mais encore obtenir quelques "pas trouvé" des messages. Avez-vous, par hasard, souvenez-vous de votre compilation/lien de commande ou peut facilement reproduire? Merci!Je vais avoir le même problème,
g++ -o test.exe test.cpp -I include -L lib -D GLEW_STATIC -lglew32 -lopengl32
donne la même erreurundefined reference to `glewInit@0'
. Ai-je raté une d'autres bibliothèques qui doivent être liés?Bon il s'avère que j'ai été en utilisant la version 32 bits de MinGW avec la version 64 bits de glfw. La modification de la variable de CHEMIN d'accès à la version 64 bits de MinGW, il fixe.
OriginalL'auteur CodingBeagle
essayer de mettre
#define GLEW_STATIC
sur la première ligne:et mettre
-lglew32s
d'abord dans les bibliothèques de liaison de la table.codeblocks:
project > build options... > linker settings > ajouter glew32s
puis cliquez sur la flèche vers le haut jusqu'à obtenir le premier
OriginalL'auteur guest