我使用的是带有Windows8.1 x86的OpenCV 2.4.6和Visual Studio2008。当我调试我的程序时,它通知我9个错误:
1>FYD_control.obj : error LNK2019: unresolved external symbol "int __stdcall cv::waitKey(int)" (?waitKey@cv@@YGHH@Z) referenced in function _main
1>FYD_control.obj : error LNK2019: unresolved external symbol "void __stdcall cv::imshow(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class cv::_InputArray const &)" (?imshow@cv@@YGXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV_InputArray@1@@Z) referenced in function _main
1>FYD_control.obj : error LNK2019: unresolved external symbol "double __stdcall cv::threshold(class cv::_InputArray const &,class cv::_OutputArray const &,double,double,int)" (?threshold@cv@@YGNABV_InputArray@1@ABV_OutputArray@1@NNH@Z) referenced in function _main
1>FYD_control.obj : error LNK2019: unresolved external symbol "void __stdcall cv::cvtColor(class cv::_InputArray const &,class cv::_OutputArray const &,int,int)" (?cvtColor@cv@@YGXABV_InputArray@1@ABV_OutputArray@1@HH@Z) referenced in function _main
1>FYD_control.obj : error LNK2019: unresolved external symbol "void __stdcall cv::medianBlur(class cv::_InputArray const &,class cv::_OutputArray const &,int)" (?medianBlur@cv@@YGXABV_InputArray@1@ABV_OutputArray@1@H@Z) referenced in function _main
1>FYD_control.obj : error LNK2019: unresolved external symbol "void __stdcall cv::fastFree(void *)" (?fastFree@cv@@YGXPAX@Z) referenced in function "public: __thiscall cv::Mat::~Mat(void)" (??1Mat@cv@@QAE@XZ)
1>FYD_control.obj : error LNK2019: unresolved external symbol "int __stdcall cv::_interlockedExchangeAdd(int *,int)" (?_interlockedExchangeAdd@cv@@YGHPAHH@Z) referenced in function "public: void __thiscall cv::Mat::release(void)" (?release@Mat@cv@@QAEXXZ)
1>FYD_control.obj : error LNK2019: unresolved external symbol "void __stdcall cv::error(class cv::Exception const &)" (?error@cv@@YGXABVException@1@@Z) referenced in function "public: int & __thiscall cv::Mat::at<int>(int,int)" (??$at@H@Mat@cv@@QAEAAHHH@Z)
1>C:\Users\___________________________\Debug\FYD2_Control.exe : fatal error LNK1120: 8 unresolved externals
1>Build log was saved at "file://c:\Users\_________________\Debug\BuildLog.htm"
1>FYD2_Control - 9 error(s), 0 warning(s)我已经分析了所有的东西,我注意到,虽然在这个错误中我有
(?waitKey@cv@@YGHH@Z)
(?imshow@cv@@YGXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV_InputArray@1@@Z)
(?threshold@cv@@YGNABV_InputArray@1@ABV_OutputArray@1@NNH@Z)
(?cvtColor@cv@@YGXABV_InputArray@1@ABV_OutputArray@1@HH@Z)
(?medianBlur@cv@@YGXABV_InputArray@1@ABV_OutputArray@1@H@Z)
(?fastFree@cv@@YGXPAX@Z)
(?_interlockedExchangeAdd@cv@@YGHPAHH@Z)
(?error@cv@@YGXABVException@1@@Z)如果我分析.lib,结果是一样的,但用A代替了第一个G
(?waitKey@cv@@YAHH@Z)
(?imshow@cv@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV_InputArray@1@@Z)
(?threshold@cv@@YANABV_InputArray@1@ABV_OutputArray@1@NNH@Z)
(?cvtColor@cv@@YAXABV_InputArray@1@ABV_OutputArray@1@HH@Z)
(?medianBlur@cv@@YAXABV_InputArray@1@ABV_OutputArray@1@H@Z)
(?fastFree@cv@@YAXPAX@Z)
(?_interlockedExchangeAdd@cv@@YAHPAHH@Z)
(?error@cv@@YAXABVException@1@@Z)在.lib中用G替换A我解决了这个问题,但后来它给了我另一个错误
The procedure entry point ?fastFree@cv@@YGXPAX@Z could not be
located in the dynamic link library我该如何解决这个问题呢?
对不起,我的英语,并感谢任何人会回答。
发布于 2014-03-27 19:07:33
您在链接方面有问题。在你的库中用G替换A不会有什么帮助。确保已将所有库添加到其他依赖项中。下面是最必要的lib文件,请确保您已将其包括在内。
highgui210d.lib
cxcore210d.lib
cv210d.lib一旦你这样做了,如果你仍然得到错误,那么转到opencv的lib文件夹(C:\opencv\build\x86\vc12\ lib ),并将所有的lib文件添加到项目的其他依赖项中(右键单击您的项目,选择属性->配置属性->链接器->输入,然后在右窗格中找到其他依赖项,然后添加所有的库文件名)。
https://stackoverflow.com/questions/19662871
复制相似问题