I have a Win32 Console Application project in Visual Studio 2013. I've set up the project to work with OpenCV 2.4.9. I'm also using PGRFlyCapture SDK (http://ww2.ptgrey.com/sdk/flycap), so I have configured the paths for include,bin,lib for this sdk.
There's a header file that I've created, along with a .cpp file to define all the function prototypes declared in the header file. Despite that, I'm getting the LNK2019 unresolved external symbol error.
Posting the error list for reference.
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
I did a little digging around and found that WindowsSDK was not installed on my system. Installed it and linked Vfw32.lib to my project. All LNK2019 errors got resolved.