Lien… LINK: erreur fatale LNK1181: impossible d’ouvrir le fichier d’entrée ‘libgsl.a’

J’utilise le code d’algorithme SIFT de Rob Hess qui utilise la bibliothèque OpenCV, sous Windows. Et je vais avoir Visual Studio 2008 comme IDE. Lorsque je lance le programme de correspondance d’image avec Debug comme configuration de la solution dans VS. Il n’ya pas de problème, tout fonctionne correctement. Mais lorsque je modifie la configuration de la solution en édition, une erreur de liaison est générée.

L’erreur est:

Liaison … LINK: erreur fatale LNK1181: impossible d’ouvrir le fichier d’entrée ‘libgsl.a’

Quelqu’un peut-il m’expliquer la raison et me dire comment résoudre ce problème?

Je vous remercie

Enfin trouvé

Oui il me manquait des bibliothèques. libgsl.a est fourni dans le package gnl GnuWin32. Cela peut être téléchargé à partir de sourceforge . Il y a un répertoire nommé gsl dans la liste affichée. J’ai téléchargé gsl-1.8-lib.zip et l’ai extrait sur C: \ GnuWin32 sur mon ordinateur.

Ensuite, j’ai inclus la bibliothèque dans Visual Studio. Voici les étapes que j’ai trouvées sur cette page . Bien que ceux-ci fassent partie d’un essai infructueux (selon le post original) cela a très bien fonctionné pour moi

  1. Dans VisualStudio, sélectionnez Fichier-> Nouveau-> Projet, puis “Projets Visual C ++”, puis “Win32”, puis “Application console Win32”. Entrez un nom et cliquez sur “OK”. Sur l’écran suivant, cliquez sur “Terminer”.

  2. Dans “l’Explorateur de solutions”, cliquez avec le bouton droit sur le nom de votre projet et sélectionnez “Propriétés”.

  3. Sous Propriétés de configuration-> Éditeur de liens-> Général-> Répertoires de bibliothèque supplémentaires, tapez “C: \ GnuWin32 \ lib”.

  4. Sous Propriétés de configuration-> Éditeur de liens-> Entrée-> Dépendances supplémentaires, tapez “libgslcblas.a libgsl.a”

  5. Sous Propriétés de configuration-> C / C ++ -> Général-> Répertoires d’inclusion supplémentaires, tapez “C: \ GnuWin32 \ include”.

  6. Sous Propriétés de configuration-> C / C ++ -> Génération de code-> Bibliothèque d’exécution, sélectionnez “DLL multithread”.

Cela fonctionne bien maintenant. Merci pour tous ceux qui ont essayé

Peut-être avez-vous oublié de configurer vos chemins de bibliothèque dans la configuration de la version.