2

Visual Studio の flycapture SDK (FlyCapture v2.6 Rel 2) に問題があります。これは、BlackFly カメラに使用されます。

次のエラーが表示されます。

Error   1   error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall FlyCapture2::Error::Error(void)" (__imp_??0Error@FlyCapture2@@QAE@XZ) referenced in function _wmain C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   2   error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall FlyCapture2::Error::Error(class FlyCapture2::Error const &)" (__imp_??0Error@FlyCapture2@@QAE@ABV01@@Z) referenced in function _wmain   C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   3   error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall FlyCapture2::Error::~Error(void)" (__imp_??1Error@FlyCapture2@@UAE@XZ) referenced in function "void __cdecl PrintError(class FlyCapture2::Error)" (?PrintError@@YAXVError@FlyCapture2@@@Z)  C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   4   error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual void __thiscall FlyCapture2::Error::PrintErrorTrace(void)const " (__imp_?PrintErrorTrace@Error@FlyCapture2@@UBEXXZ) referenced in function "void __cdecl PrintError(class FlyCapture2::Error)" (?PrintError@@YAXVError@FlyCapture2@@@Z)    C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   5   error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall FlyCapture2::BusManager::BusManager(void)" (__imp_??0BusManager@FlyCapture2@@QAE@XZ) referenced in function _wmain  C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   6   error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall FlyCapture2::BusManager::~BusManager(void)" (__imp_??1BusManager@FlyCapture2@@UAE@XZ) referenced in function _wmain C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   7   error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual class FlyCapture2::Error __thiscall FlyCapture2::BusManager::GetNumOfCameras(unsigned int *)" (__imp_?GetNumOfCameras@BusManager@FlyCapture2@@UAE?AVError@2@PAI@Z) referenced in function _wmain   C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   8   error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual class FlyCapture2::Error __thiscall FlyCapture2::BusManager::GetCameraFromIndex(unsigned int,class FlyCapture2::PGRGuid *)" (__imp_?GetCameraFromIndex@BusManager@FlyCapture2@@UAE?AVError@2@IPAVPGRGuid@2@@Z) referenced in function _wmain   C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   66  error LNK2001: unresolved external symbol "public: virtual class FlyCapture2::Error __thiscall FlyCapture2::Camera::ValidateFormat7Settings(struct FlyCapture2::Format7ImageSettings const *,bool *,struct FlyCapture2::Format7PacketInfo *)" (?ValidateFormat7Settings@Camera@FlyCapture2@@UAE?AVError@2@PBUFormat7ImageSettings@2@PA_NPAUFormat7PacketInfo@2@@Z)  C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   67  error LNK2001: unresolved external symbol "public: virtual class FlyCapture2::Error __thiscall FlyCapture2::Camera::WaitForBufferEvent(class FlyCapture2::Image *,unsigned int)" (?WaitForBufferEvent@Camera@FlyCapture2@@UAE?AVError@2@PAVImage@2@I@Z) C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   68  error LNK2001: unresolved external symbol "public: virtual class FlyCapture2::Error __thiscall FlyCapture2::Camera::WriteRegister(unsigned int,unsigned int,bool)" (?WriteRegister@Camera@FlyCapture2@@UAE?AVError@2@II_N@Z)    C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   69  error LNK2001: unresolved external symbol "public: virtual class FlyCapture2::Error __thiscall FlyCapture2::Camera::WriteRegisterBlock(unsigned short,unsigned int,unsigned int const *,unsigned int)" (?WriteRegisterBlock@Camera@FlyCapture2@@UAE?AVError@2@GIPBII@Z) C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\BlackFlyMultiTrigger\BlackFlyMultiTrigger.obj BlackFlyMultiTrigger
Error   70  error LNK1120: 69 unresolved externals  C:\Users\dahl2\Documents\Visual Studio 2012\Projects\BlackFlyMultiTrigger\Debug\BlackFlyMultiTrigger.exe    BlackFlyMultiTrigger

私の理解では、問題はディレクトリ(インクルードとライブラリ)にあります。

Windows 32 ビットおよび 64 ビット用の FlyCapture SDK v2.6 リリース 2 をダウンロードしました。

私のプロジェクトでは、次のプロパティを追加しました。

構成プロパティ -> リンカー -> 追加のライブラリ ディレクトリ: C:\Program Files\Point Gray Research\FlyCapture2\lib64\FlyCapture2_v100.lib

構成プロパティ -> C/C++ -> 追加のインクルード ディレクトリ: C:\Program Files\Point Gray Research\FlyCapture2\include

私は、32 ビットおよび 64 ビットの SDK と、異なるライブラリを使用してこれを実行しようとしました。しかし、どこで悪いことをしたかわかりません。すべての助けに感謝します!!!

4

1 に答える 1

6

私は問題を見つけることに取り組んできましたが、今はそうしています。FlyCapture2 SDK は、既定では VS2012 でサポートされていません。いくつかの変更を加える必要がありました。

  1. 最初に (上記のように) プロパティを追加しましたが、32 ビット SDK を使用しました。

  2. 次に、SDK がインストールされているフォルダーに入りました。ここで、src\vsprops\VS10 に移動し、FlyCapture2.props ファイルのコピーを作成しました。

  3. 次に、コピーの名前を「FlyCapture2Changed.props」のように変更しました。

  4. "FlyCapture2Changed.props" (メモ帳、テキスト エディターなど) を開くと、次の行が見つかりました。

注意!< と AdditionalDependencies の間にスペースを入れてはいけません ( </ も同様)。ここでエディターに問題が発生しました (テキストが欠落しました)。

< AdditionalDependencies>FlyCapture2_$(PlatformToolset).lib;%(AdditionalDependencies)</AdditionalDependencies>

そしてそれを次のように変更しました:

< AdditionalDependencies>FlyCapture2_v100.lib;%(AdditionalDependencies)</AdditionalDependencies>

これが完了した後、プロジェクトにいくつかの変更を加える必要がありました。プロジェクトの下で、プロパティマネージャーに移動し、[デバッグ] | [デバッグ] を右クリックする必要があります。Win32 で「既存のプロパティ シートを追加」を選択し、作成した「FlyCapture2Changed.props」を選択します。

これが行われた後、それはうまくいきました!

于 2014-02-20T09:51:54.360 に答える