我在Visual Studio 2013中有一个Win32控制台应用程序项目。我已经设置了项目以使用OpenCV 2.4.9。我还使用了PGRFlyCapture SDK(http://ww2.ptgrey.com/sdk/flycap),所以我为这个sdk配置了include,bin,lib的路径。
我已经创建了一个头文件,以及一个.cpp文件来定义头文件中声明的所有函数原型。尽管如此,我还是得到了 LNK2019未解析的外部符号错误。
发布错误列表以供参考。
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
答案 0 :(得分:3)
我做了一点挖掘,发现我的系统上没有安装WindowsSDK。安装它并将Vfw32.lib链接到我的项目。所有LNK2019错误都得到了解决。