2

Visual Studio 2013 に Win32 コンソール アプリケーション プロジェクトがあります。OpenCV 2.4.9 で動作するようにプロジェクトをセットアップしました。私は PGRFlyCapture SDK ( http://ww2.ptgrey.com/sdk/flycap ) も使用しているので、この SDK の include,bin,lib のパスを構成しました。

私が作成したヘッダー ファイルと、ヘッダー ファイルで宣言されたすべての関数プロトタイプを定義する .cpp ファイルがあります。それにもかかわらず、LNK2019 未解決の外部シンボルエラーが発生しています。

  1. これらの LNK2019 エラーを取り除くには助けが必要です。
  2. 見つからなかったので、PGRFlyCapture SDK へのリンクを希望します。Visual Studio のプロジェクトで SDK を正しく構成していない可能性があります。

参考までにエラーリストを掲載します。

Error   21  error LNK1120: 20 unresolved externals  C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\Debug\VideoGrabber_V3.exe VideoGrabber_V3
Error   1   error LNK2001: unresolved external symbol "const FlyCapture2::CameraBase::`vftable'" (??_7CameraBase@FlyCapture2@@6B@)  C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\FlyCapture2GUId_v120.exp  VideoGrabber_V3
Error   13  error LNK2019: unresolved external symbol _AVIFileCreateStreamW@12 referenced in function "public: bool __thiscall PGRAviFile::open(char const *,int,int,int,double)" (?open@PGRAviFile@@QAE_NPBDHHHN@Z)    C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   9   error LNK2019: unresolved external symbol _AVIFileExit@0 referenced in function "public: bool __thiscall PGRAviFile::close(void)" (?close@PGRAviFile@@QAE_NXZ)  C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   12  error LNK2019: unresolved external symbol _AVIFileGetStream@16 referenced in function "public: bool __thiscall PGRAviFile::open(char *)" (?open@PGRAviFile@@QAE_NPAD@Z) C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   8   error LNK2019: unresolved external symbol _AVIFileInit@0 referenced in function "public: bool __thiscall PGRAviFile::open(char *)" (?open@PGRAviFile@@QAE_NPAD@Z)   C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   11  error LNK2019: unresolved external symbol _AVIFileOpenW@16 referenced in function "public: bool __thiscall PGRAviFile::open(char *)" (?open@PGRAviFile@@QAE_NPAD@Z) C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   10  error LNK2019: unresolved external symbol _AVIFileRelease@4 referenced in function "public: bool __thiscall PGRAviFile::close(void)" (?close@PGRAviFile@@QAE_NXZ)   C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   20  error LNK2019: unresolved external symbol _AVIMakeCompressedStream@16 referenced in function "public: bool __thiscall PGRAviFile::open(char const *,int,int,int,double)" (?open@PGRAviFile@@QAE_NPBDHHHN@Z) C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   15  error LNK2019: unresolved external symbol _AVIStreamInfoW@12 referenced in function "public: bool __thiscall PGRAviFile::open(char *)" (?open@PGRAviFile@@QAE_NPAD@Z)   C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   18  error LNK2019: unresolved external symbol _AVIStreamRead@28 referenced in function "public: bool __thiscall PGRAviFile::readNextFrame(unsigned char *,bool)" (?readNextFrame@PGRAviFile@@QAE_NPAE_N@Z)  C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   16  error LNK2019: unresolved external symbol _AVIStreamReadFormat@16 referenced in function "public: bool __thiscall PGRAviFile::open(char *)" (?open@PGRAviFile@@QAE_NPAD@Z)  C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   14  error LNK2019: unresolved external symbol _AVIStreamRelease@4 referenced in function "public: bool __thiscall PGRAviFile::close(void)" (?close@PGRAviFile@@QAE_NXZ) C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   17  error LNK2019: unresolved external symbol _AVIStreamSetFormat@16 referenced in function "public: bool __thiscall PGRAviFile::open(char const *,int,int,int,double)" (?open@PGRAviFile@@QAE_NPBDHHHN@Z)  C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   19  error LNK2019: unresolved external symbol _AVIStreamWrite@32 referenced in function "public: bool __thiscall PGRAviFile::appendBMP(char const *)" (?appendBMP@PGRAviFile@@QAE_NPBD@Z)   C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   6   error LNK2019: unresolved external symbol _ICClose@4 referenced in function "public: int __thiscall PGRAviFile::enumerateCompressors(int,int,int,struct ICINFO *,int)" (?enumerateCompressors@PGRAviFile@@QAEHHHHPAUICINFO@@H@Z)    C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   4   error LNK2019: unresolved external symbol _ICGetInfo@12 referenced in function "public: int __thiscall PGRAviFile::enumerateCompressors(int,int,int,struct ICINFO *,int)" (?enumerateCompressors@PGRAviFile@@QAEHHHHPAUICINFO@@H@Z) C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   3   error LNK2019: unresolved external symbol _ICInfo@12 referenced in function "public: int __thiscall PGRAviFile::enumerateCompressors(int,int,int,struct ICINFO *,int)" (?enumerateCompressors@PGRAviFile@@QAEHHHHPAUICINFO@@H@Z)    C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   5   error LNK2019: unresolved external symbol _ICOpen@12 referenced in function "public: int __thiscall PGRAviFile::enumerateCompressors(int,int,int,struct ICINFO *,int)" (?enumerateCompressors@PGRAviFile@@QAEHHHHPAUICINFO@@H@Z)    C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   7   error LNK2019: unresolved external symbol _ICSendMessage@16 referenced in function "public: int __thiscall PGRAviFile::enumerateCompressors(int,int,int,struct ICINFO *,int)" (?enumerateCompressors@PGRAviFile@@QAEHHHHPAUICINFO@@H@Z) C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
Error   2   error LNK2019: unresolved external symbol _VideoForWindowsVersion@0 referenced in function "private: bool __thiscall PGRAviFile::checkVFWVersion(void)" (?checkVFWVersion@PGRAviFile@@AAE_NXZ)  C:\Users\jtower\Documents\Visual Studio 2013\Projects\VideoGrabber_V3\VideoGrabber_V3\PGRAviFile.obj    VideoGrabber_V3
4

1 に答える 1

3

少し調べてみたところ、システムに WindowsSDK がインストールされていないことがわかりました。それをインストールし、Vfw32.lib を私のプロジェクトにリンクしました。LNK2019 エラーはすべて解決されました。

于 2015-08-10T06:46:21.987 に答える