Visual Studio 2012 - error LNK1104: impossible d'ouvrir le fichier 'glew32.lib'
Je vais avoir des problèmes de compilation d'une base de programme openGL sur VS 2012. J'obtiens une erreur de build sur compiltation de me donner:
1>LINK : fatal error LNK1104: cannot open file 'glew32.lib'
J'ai suivi les instructions que m'a remis de la documentation pour GLEW.
Dans votre OpenGL projet ouvrir un Projet -> Propriétés -> Propriétés de Configuration -> Linker -> Input -> Dépendances Supplémentaires -> ajouter glew32.lib.
Vous devez également inclure #inclure dans vos sources; Pour ajouter un chemin d'accès à votre glew dossier: Projet -> Propriétés -> Configuration Properies -> Général> Répertoires de VC++- > Inclure des Répertoires et de la Bibliothèque de Répertoires;
Onglet C/C++- > Général> d'autres Répertoires include - Ajouter le dossier lib il y
J'ai également ajouté l'glew32.dll sur mon dossier de Débogage dans mon dossier de projet avec l'exécutable. Jusqu'à présent, je reçois cette erreur.
Si vous avez besoin de plus de précisions supplémentaires sur les étapes que j'ai fait s'il vous plaît n'hésitez pas à demander
Qu'advient-il si vous temporairement copie
.lib
fichier à certains de répertoire valide, comme $(WindowsSdkDir)\lib
?Avez-vous des glew32.lib?
Outils éditeur de liens Error LNK1104 énumère un certain nombre de causes possibles. Pouvez-vous éliminer tous?
double possible de Visual Studio erreur: LNK1104: impossible d'ouvrir le fichier kernel32.lib " que WP8 projets / Win32 construit
OriginalL'auteur BDillan | 2014-01-01
Vous devez vous connecter pour publier un commentaire.
En toute honnêteté, il n'y a pas de réel avantage à l'utilisation de la DLL de la version de glew (court de la réduction de la taille de l'exécutable, mais ce n'est pas très dérangeant moderne sur les Pc Windows).
Ce n'est pas comme vous pouvez simplement déposer une nouvelle version de la DLL dans votre application et l'utilisation des extensions que vous n'avez jamais utilisé avant. De même, les corrections de bugs sont donc peu fréquents/inutile avec une bibliothèque qui est fondamentalement juste analyse de l'extension spec. les fichiers à l'aide de la DLL comme un moyen de fixation de l'extension de chargement de bugs dans le logiciel livré est pas pratique. La liaison statique à glew (ce qui signifie
glew32s.lib
) fait beaucoup plus de sens à long terme.La liaison statique de la bibliothèque est aussi plus portable sur Windows, il va travailler avec MSVC et MinGW (alors que la bibliothèque DLL ne fonctionne qu'avec MSVC). Lien contre
glew32s
et le mettre dans n'importe quel répertoire où vous avez décidé de l'utiliser pour d'autres dépendances de la bibliothèque.Voici un exemple de configuration de la solution pour un projet que j'ai écrit qui utilise glew. J'ai établi une convention pour ce logiciel particulier où au moment de la compilation dépendances sont stockés sous
platform/<Subsystem>
. Ainsi, j'aiglew32s.lib
(32 bits) etglew64s.lib
(64-bit) dans ./Epsilon/plate-forme/OpenGL/glew{32/64}s.libIl existe deux versions de GLEW. Il s'agit de la DLL (dynamic) version et puis il y a celui qui est complètement intégré à votre logiciel lorsque vous compilez/lien (statique). J'ai toujours compiler glew de la source, mais le binaire archive ici contient à la fois la dynamique et de la statique des bibliothèques sous: lib/Presse/Win32 (32 bits) et lib/Presse/x64 (64-bit). Il utilise le nom
glew32
pour Win32 et x64, pour mon logiciel j'ai effectivement renommé la version 64 bits comme vous pouvez le voir dans le schéma que j'ai énumérés.OriginalL'auteur Andon M. Coleman
Il m'est arrivé dans cette situation, je nettoie la solution et de le créer encore une fois, puis de nombreuses erreurs comme LNK1104 se produire.
Après avoir essayé de redémarrer IIS, j'ai construit une solution avec succès sans LNK1104 erreurs. Je ne sais pas pourquoi, mais de redémarrer IIS prend beaucoup plus de temps que la normale, donc je suppose que quelque chose est utilisé par d'autres processus de travail IIS.
Juste donner un coup pour voir si cette magie se produit sur vous.
OriginalL'auteur David
Étapes pour Utiliser les Classes forment un autre projet (Ajouter un en-tête et le solveur erreurs d'édition de liens)
Pour être en mesure d'ajouter l'en-tête à partir d'un autre projet, allez d'abord à "Propriétés > c++ > Général > d'autres Répertoires include" et ajouter le répertoire qui contient l'en-tête. Maintenant, vous serez en mesure d'ajouter l'en-tête de la classe à partir de l'autre projet, mais l'exécution du projet sera toujours provoquer des Erreurs d'édition de liens.
Ajouter __declspec(dllexport) avant la classe que vous utilisez pour l'autre projet. Ceci peut être ajouté dans le fichier d'en-tête de la classe. Cela devrait être ajouté juste avant la fonction ou variable ou un nom de classe. Maintenant, vous obtiendrez un fichier lib. (s'il est placé dans le mauvais endroit, vous pouvez obtenir cet avertissement: https://msdn.microsoft.com/en-us/library/eehkcz60.aspx)
"Propriétés > Linker > d'autres Répertoires de la Bibliothèque". Spécifiez l'emplacement du fichier lib qui est généré.
"Propriétés > Linker > Input > Dépendances Supplémentaires”: Ajouter le nom du fichier lib.
OriginalL'auteur Mohith Maratt
Cela ressemble à la bibliothèque a été spécifié comme une dépendance, mais l'éditeur de liens supplémentaires sur le chemin de recherche(s) n'a pas été définies de manière à inclure le répertoire où la bibliothèque est située.
Cela peut aider.
OriginalL'auteur FuzzyBunnySlippers
Cette question est ancienne et a marqué résolu, mais j'ai eu un problème similaire symptômes avec une solution complètement différente. Donc, juste au cas où quelqu'un d'autre tombe dans ici:
Il est apparu que parce que j'ai eu 2 projets en vertu d'une solution (une dll et un fichier exe), le bâtiment de l'ordre a été mélangé (à partir de la fenêtre de sortie):
et ainsi de suite. Par le message que vous avez copié, il apparaît, vous aussi, vous avez plus d'un projet dans le cadre d'une solution. Un projet a été à la recherche pour le *.fichier lib que les autres n'avaient pas encore créé.
Solution:
Clic droit sur "principal" projet -> les Dépendances de construction -> les Dépendances d'un Projet.. -> Marque qui projet le principal dépend.
OriginalL'auteur yoad w