web-dev-qa-db-fra.com

Visual Studio 2012 - erreur LNK1104: impossible d'ouvrir le fichier 'glew32.lib'

J'ai des problèmes pour compiler un programme openGL de base sur VS 2012. Je reçois une erreur de compilation lors de la compilation me donnant:

1>LINK : fatal error LNK1104: cannot open file 'glew32.lib'

J'ai suivi les instructions qui m'ont été données par la documentation de GLEW.

Dans votre projet OpenGL, ouvrez Projet -> Propriétés -> Propriétés de configuration -> Éditeur de liens -> Entrée -> Dépendances supplémentaires -> ajoutez glew32.lib.

Vous devez également inclure #include dans vos sources; Pour ce chemin d'ajout à votre dossier glew: Projet -> Propriétés -> Propriétés de configuration -> Général -> Répertoires VC++ -> Inclure les répertoires et les répertoires de bibliothèque;

Onglet C/C++ -> Général -> Inclure des répertoires supplémentaires - Ajouter un dossier lib

J'ai également ajouté le glew32.dll sur mon dossier de débogage dans mon dossier de projet avec l'exécutable. Jusqu'à présent, je continue à recevoir cette erreur.

Si vous avez besoin de plus de précisions sur les étapes que j'ai faites, n'hésitez pas à demander

15

Les étapes pour utiliser les classes forment un autre projet (Ajouter des erreurs d'en-tête et de l'éditeur de liens du solveur)

  1. Pour pouvoir ajouter l'en-tête d'un autre projet, accédez d'abord à "Propriétés> c ++> Général> Inclure des répertoires supplémentaires" et ajoutez le répertoire qui contient l'en-tête. Vous pourrez maintenant ajouter l'en-tête de la classe de l'autre projet, mais l'exécution du projet provoquera toujours des erreurs de l'éditeur de liens.

  2. Ajoutez __ declspec (dllexport) avant la classe que vous utilisez pour l'autre projet. Cela peut être ajouté dans le fichier d'en-tête de cette classe. Cela doit être ajouté juste avant le nom de la fonction ou de la variable ou de la classe. Maintenant, vous obtiendrez un fichier lib. (si placé au mauvais endroit, vous pouvez obtenir cet avertissement: https://msdn.Microsoft.com/en-us/library/eehkcz60.aspx )

  3. "Propriétés> Éditeur de liens> Répertoires de bibliothèque supplémentaires". Spécifiez l'emplacement du fichier lib généré.

  4. "Propriétés> Éditeur de liens> Entrée> Dépendances supplémentaires": Ajoutez le nom du fichier lib.

2
Mohith Maratt

Cela m'est arrivé dans cette situation, je nettoie la solution et la reconstitue, puis de nombreuses erreurs comme LNK1104 se produisent.

Après avoir essayé de redémarrer IIS, je crée la solution avec succès sans erreurs LNK1104. Je ne sais pas pourquoi, mais redémarrer IIS prend beaucoup plus de temps que la normale, donc je suppose que quelque chose est utilisé par un autre processus de travail IIS.

Donnez juste un coup de feu pour voir si cette magie se produit sur vous.

2
David

Cela ressemble à la bibliothèque a été spécifié comme une dépendance, mais l'éditeur de liens/chemin (s) de recherche supplémentaire n'a pas été défini pour inclure le répertoire où se trouve la bibliothèque.

Cela peut aider .

1
FuzzyBunnySlippers

Cette question est ancienne et marquée comme résolue, mais j'avais un problème similaire avec une solution complètement différente. Donc, juste au cas où quelqu'un tomberait ici:
Il est apparu que parce que j'avais 2 projets sous une seule solution (une dll et une exe), l'ordre de construction était mélangé (à partir de la fenêtre de sortie):

1> Rebuilding project1..
2> Rebuilding project1..
1> file1.cpp
2> file1.cpp

etc. Par le message que vous avez copié, il semble que vous ayez également plus d'un projet sous une seule solution. Un projet recherchait le fichier * .lib que l'autre build n'avait pas encore créé.
Solution:
Faites un clic droit sur le projet "principal" -> Construire les dépendances -> Dépendances du projet .. -> Sélectionnez le projet dont dépend le projet principal.

1
yoad w