2010-09-18 6 views
0

J'ai un code simple en utilisant les bibliothèques FlyCapture de Point Grey:erreur de lien flycaputer2

#include <iostream> 
#include "FlyCapture2.h" 

using namespace std; 

int main(){ 
    cout << "Hello World!"; 
    FlyCapture2::BusManager m; 
    return 0; 
} 

Le code ci-dessus donne à ces erreurs de lien au moment de la compilation:

1>------ Build started: Project: CJMVideo, Configuration: Release Win32 ------ 
1>Compiling... 
1>CJMVideo.cpp 
1>Linking... 
1>CJMVideo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall FlyCapture2::BusManager::~BusManager(void)" ([email protected]@@[email protected]) 
1>CJMVideo.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall FlyCapture2::BusManager::BusManager(void)" ([email protected]@@[email protected]) 
1>C:\Users\Akihiro\Documents\Visual Studio 2008\Projects\CJMVideo\Release\CJMVideo.exe : fatal error LNK1120: 2 unresolved externals 
1>Build log was saved at "file://c:\Users\Akihiro\Documents\Visual Studio 2008\Projects\CJMVideo\CJMVideo\Release\BuildLog.htm" 
1>CJMVideo - 3 error(s), 0 warning(s) 
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 

J'ai ajouté le répertoire de FlyCapture comme une bibliothèque répertoire dans les options de VS2008, et j'ai ajouté les bibliothèques en tant que dépendances supplémentaires dans les paramètres du projet.

Quelle est ma prochaine étape de débogage? Je n'arrive pas.

Merci,

Répondre

0

@Surgio:

Je résolu mon problème, donc je pensais que je vous donne une mise à jour. Mon problème s'est avéré être que mon Visual Studio utilisait un compilateur 32 bits mais essayait de compiler à partir de bibliothèques 64 bits. Vous avez probablement fait cela, mais assurez-vous que vous avez (1) ajouté les emplacements des bibliothèques dans VS et (2) assurez-vous que vous avez ajouté les bibliothèques comme dépendances supplémentaires dans les paramètres de votre projet.

+0

Salut pourriez-vous s'il vous plaît développer un peu - quelles bibliothèques doivent être ajoutées spécifiquement? J'ai eu ce problème et je n'ai pas réussi à le surmonter. – AndyUK

0

Dans vos propriétés Visual Studio, assurez-vous que le compilateur sait où les répertoires de bibliothèque supplémentaires vivent, sinon la probabilité est que vous obtiendrez les erreurs de l'éditeur de liens que vous avez décrites. Plus précisément, vous le faites en définissant les propriétés du projet -> éditeur de liens -> général -> répertoires de bibliothèque supplémentaires. Vous devez indiquer où se trouve le répertoire de la bibliothèque. Pour un FlyCapture SDK v2.2 installation par exemple, ce qui est communément dans:

C: \ Program Files \ Point de recherche gris \ FlyCapture2 \ lib

Une autre chose, même si vous travaillez dans un 64- plate-forme bit, si par exemple vous choisissez d'exécuter votre application FlyCapture en tant que console Win32, vous aurez probablement encore besoin de télécharger et d'utiliser la version 32 bits de tout le SDK FlyCapture que vous utilisez, pas la version 64 bits. Juste une pensée. Pour une explication plus détaillée de la mise en route des configurations FlyCapture, qui était à l'époque effectuée dans VS2008 dans un environnement Windows XP 32 bits, il ne devrait pas être trop difficile de l'appliquer à 64- peu sur les versions plus récentes de Visual Studio. Tout commentaire très apprécié.