2013-02-01 4 views
3

Pour faire simple:glfw et Glew reliant les erreurs avec Visual Studios 2010

error LNK2019: unresolved external symbol _glfwSetWindowTitle referenced in function _main 
error LNK2019: unresolved external symbol [email protected] referenced in function _main 
error LNK2001: unresolved external symbol __imp__glewExperimental 
error LNK2019: unresolved external symbol _glfwTerminate referenced in function _main 
error LNK2019: unresolved external symbol _glfwOpenWindow referenced in function _main 
....etc.... 

En linker->> dépendances supplémentaires entrées-:

opengl32.lib 
glfw.lib 
glew32.lib 
glu32.lib 

J'ai essayé tout ce que je peux penser d'ici et rien n'a fonctionné, donc certains d'entre eux pourraient même ne pas être nécessaires.

Ensuite, dans des répertoires de bibliothèque supplémentaires, j'ai: $(VSInstallDir)lib; $(Path), qui ne devrait être nécessaire. J'ai les fichiers de bibliothèque là-dedans, et j'ai aussi essayé de les copier dans le répertoire du projet et dans chaque sous-répertoire, et toujours pas de dés. Je suis reconnaissant pour tout conseil ou perspicacité!

Répondre

0

Peut-être que vous ajoutez le #define GLFW_DLL Je peux reproduire l'erreur quand je l'ai ajouté. Si vous voulez utiliser la version DLL de GLFW, vous devez ajouter GLFWDLL.lib.
Vérifiez GLFW 2.7.4 release notes.

+0

Je ne définit pas GLFW_DLL, bien que je l'ai essayé d'utiliser cette façon, avec la DLL, et y compris GLFWDLL. lib. – Fulluphigh

0

Je ne suis pas sûr du problème avec GLFW, mais pour GLEW, j'ai dû définir GLEW_STATIC.

Accédez à Projet-> Propriétés-> C/C++ -> Préprocesseur, puis sous Définitions de préprocesseur ajoutez GLEW_STATIC.

0

J'ai eu un problème très similaire à cela. Je pourrais écrire le code dans mon point d'entrée pour utiliser GLFW et GLEW pour créer une fenêtre, mais dès que je le résumerais dans un document séparé (ie app.hpp), et l'inclurais à mon point d'entrée, il ne compilerait pas malgré le code étant correct.

erreur LNK2019: symbole externe non résolu __imp__glewInit @ 0 référencé dans la fonction _main erreur LNK2001: symbole externe non résolu __imp__glewExperimental

Ces deux erreurs que j'ai obtenu parce que d'une certaine manière, GLEW n'a pas été correctement inclus à mon projet . Le véritable problème était que l'éditeur de liens n'obtenait pas les documents appropriés dont il avait besoin. À savoir que j'ai utilisé glew32s.dll et pas glew32.dll.

La solution immédiate était d'arrêter d'utiliser GLEW_STATIC et d'utiliser GLEW. J'ai fait les mêmes étapes que la liste ci-dessous, en utilisant plutôt glew32.dll au lieu de GLEW statique, et tout a bien fonctionné pour moi.

Assurez-vous que includes pour GLFW et GLEW ont été faites dans:

Propriétés> C/C++> Général> supplémentaires include

Ensuite, vous devez relier les bibliothèques glfw et Glew dans:

> Propriétés Linker> général> Bibliothèque supplémentaires Annuaires

Et bien sûr, assurez-vous dire entrée ce DLL que vous souhaitez utiliser (les deux GLFW et GLEW dans ce cas)

Propriétés> Linker> Entrée> Dépendances supplémentaires

Ensuite, vous prenez Les DLLs GLFW et GLEW que vous venez de dire ont ajouté aux dépendances supplémentaires et les coller dans le dossier où se trouve votre point d'entrée (main.cpp).

Cela a résolu tous mes problèmes - qui étaient essentiellement un problème similaire à la vôtre.

Espérons que cela a résolu votre problème. Portez une attention particulière à la copie de ces fichiers DLL dans votre dossier contenant le point d'entrée-c'est exactement là où je suis tombé court.

opengl32.lib glfw3.lib glew32s.lib glew32.lib

Questions connexes