Opencv 生成traincascade.exe
奇怪的是,另一个应用程序文件夹中的haartraining采用完全相同的方式工作得很好。我认为定义必要文件的路径是错误的,但看起来一切都很好 以下是我的设置(假设使用Visual Studio的OpenCV 2.4.5):Opencv 生成traincascade.exe,opencv,Opencv,奇怪的是,另一个应用程序文件夹中的haartraining采用完全相同的方式工作得很好。我认为定义必要文件的路径是错误的,但看起来一切都很好 以下是我的设置(假设使用Visual Studio的OpenCV 2.4.5): 在环境变量中设置DLL路径: 将OPENCV245\u DIR设置为C:\opencv\OPENCV245\build\x86\vc10\bin 将%OPENCV245\u DIR%添加到路径 配置包含目录: C:\opencv\opencv245\build\incl
- 将
设置为OPENCV245\u DIR
C:\opencv\OPENCV245\build\x86\vc10\bin
- 将
添加到%OPENCV245\u DIR%
路径
C:\opencv\opencv245\build\include
C:\opencv\opencv245\build\include\opencv
C:\opencv\opencv245\apps\traincascade
C:\opencv\opencv245\build\x86\vc10\lib
.lib
依赖项:
opencv\u core245d.lib
opencv_ml245d.lib
opencv\u imgproc245d.lib
opencv\u objdetect245d.lib
opencv\u highgui245d.lib
opencv\u calib3d245d.lib
opencv\u video245d.lib
opencv\u特性2d245d.lib
opencv\u flann245d.lib
opencv_legacy245d.lib
opencv\u haartraining\u engined.lib
opencv\u contrib245d.lib
opencv\u gpu245d.lib
opencv\u nonfree245d.lib
opencv\u photo245d.lib
opencv\u拼接245d.lib
opencv_ts245d.lib
opencv\u videostab245d.lib
Debug | Win32
(或Release | Win32
)文件夹的顶部作为第一项,因为我了解到工作表的顺序决定了它们的优先级。此外,Release
属性页省略了.lib
文件名末尾的d
如果我试图编译代码,我会得到以下输出:
1>------ Build started: Project: traincascade245, Configuration: Debug Win32 ------
1>Build started 4/12/2013 3:11:03 PM.
1>InitializeBuildStatus:
1> Touching "Debug\traincascade245.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>Link:
1>
1> Searching libraries
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_core245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_ml245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_imgproc245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_objdetect245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_highgui245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_calib3d245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_video245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_features2d245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_flann245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_legacy245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_haartraining_engined.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_contrib245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_gpu245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_nonfree245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_photo245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_stitching245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_ts245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_videostab245d.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib:
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcprtd.lib:
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\MSVCRTD.lib:
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_core245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_ml245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_imgproc245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_objdetect245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_highgui245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_calib3d245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_video245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_features2d245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_flann245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_legacy245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_haartraining_engined.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_contrib245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_gpu245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_nonfree245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_photo245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_stitching245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_ts245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_videostab245d.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\kernel32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\user32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\gdi32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\winspool.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\comdlg32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\advapi32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\shell32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\ole32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\oleaut32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\uuid.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbc32.lib:
1> Searching C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\odbccp32.lib:
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\msvcprtd.lib:
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\MSVCRTD.lib:
1> Searching C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_core245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_ml245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_imgproc245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_objdetect245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_highgui245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_calib3d245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_video245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_features2d245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_flann245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_legacy245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_haartraining_engined.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_contrib245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_gpu245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_nonfree245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_photo245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_stitching245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_ts245d.lib:
1> Searching C:\opencv\opencv245\build\x86\vc10\lib\opencv_videostab245d.lib:
1>
1> Finished searching libraries
1>traincascade.obj : error LNK2019: unresolved external symbol "public: bool __thiscall CvCascadeClassifier::train(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int,int,int,int,int,class CvCascadeParams const &,class CvFeatureParams const &,struct CvCascadeBoostParams const &,bool)" (? train@CvCascadeClassifier@@QAE_NV?$basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@00HHHHHABVCvCascadeParams@@ABVCvFeatureParams@@ABUCvCascadeBoostParams @@_N@Z) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: virtual bool __thiscall CvCascadeBoostParams::scanAttr(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (? scanAttr@CvCascadeBoostParams@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@0@Z) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: virtual bool __thiscall CvCascadeParams::scanAttr(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?scanAttr@CvCascadeParams@@UAE_NV? $basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall CvCascadeBoostParams::printDefaults(void)const " (? printDefaults@CvCascadeBoostParams@@UBEXXZ) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall CvCascadeParams::printDefaults(void)const " (? printDefaults@CvCascadeParams@@UBEXXZ) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: __thiscall CvHOGFeatureParams::CvHOGFeatureParams(void)" (??0CvHOGFeatureParams@@QAE@XZ) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: __thiscall CvLBPFeatureParams::CvLBPFeatureParams(void)" (??0CvLBPFeatureParams@@QAE@XZ) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: __thiscall CvHaarFeatureParams::CvHaarFeatureParams(void)" (??0CvHaarFeatureParams@@QAE@XZ) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: __thiscall CvCascadeBoostParams::CvCascadeBoostParams(void)" (??0CvCascadeBoostParams@@QAE@XZ) referenced in function _main
1>traincascade.obj : error LNK2019: unresolved external symbol "public: __thiscall CvCascadeParams::CvCascadeParams(void)" (??0CvCascadeParams@@QAE@XZ) referenced in function _main
1>traincascade.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CvCascadeBoostParams::printAttrs(void)const " (?printAttrs@CvCascadeBoostParams@@UBEXXZ)
1>traincascade.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CvParams::printDefaults(void)const " (?printDefaults@CvParams@@UBEXXZ)
1>traincascade.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CvParams::printAttrs(void)const " (?printAttrs@CvParams@@UBEXXZ)
1>traincascade.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall CvParams::scanAttr(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?scanAttr@CvParams@@UAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z)
1>traincascade.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall CvCascadeImageReader::PosReader::~PosReader(void)" (??1PosReader@CvCascadeImageReader@@UAE@XZ) referenced in function __unwindfunclet$??0CvCascadeImageReader@@QAE@XZ$0
1>traincascade.obj : error LNK2019: unresolved external symbol "public: __thiscall CvCascadeImageReader::NegReader::NegReader(void)" (??0NegReader@CvCascadeImageReader@@QAE@XZ) referenced in function "public: __thiscall CvCascadeImageReader::CvCascadeImageReader(void)" (??0CvCascadeImageReader@@QAE@XZ)
1>traincascade.obj : error LNK2019: unresolved external symbol "public: __thiscall CvCascadeImageReader::PosReader::PosReader(void)" (??0PosReader@CvCascadeImageReader@@QAE@XZ) referenced in function "public: __thiscall CvCascadeImageReader::CvCascadeImageReader(void)" (??0CvCascadeImageReader@@QAE@XZ)
1>C:\Users\knobukaw\Documents\Visual Studio 2010\Projects\traincascade245\Debug\traincascade245.exe : fatal error LNK1120: 17 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:02.52
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
1>----构建已启动:项目:traincascade245,配置:调试Win32------
1> 构建开始于2013年4月12日下午3:11:03。
1> 初始化BuildStatus:
1> 触摸“调试\traincascade245.构建失败”。
1> CLC编译:
1> 所有输出都是最新的。
1> 资源汇编:
1> 所有输出都是最新的。
1> 链接:
1>
1> 搜索图书馆
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u core245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u ml245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u imgproc245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u objdetect245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u highgui245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u calib3d245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u video245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u功能2d245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u flann245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u legacy245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u haartraining\u engined.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u contrib245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u gpu245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u nonfree245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u photo245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u stitching245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u ts245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u videostab245d.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\kernel32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\user32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\gdi32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\winspool.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\comdlg32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\advapi32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\shell32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\ole32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\oleaut32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\uuid.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\odbc32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\lib\odbccp32.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\lib\msvcprtd.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\lib\MSVCRTD.lib:
1> 正在搜索C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\lib\OLDNAMES.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u core245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u ml245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u imgproc245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u objdetect245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u highgui245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u calib3d245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u video245d.lib:
1> 正在搜索C:\opencv\opencv245\build\x86\vc10\lib\opencv\u功能2d245d.lib:
1> 搜索