今天在opencv2.4.3下写SIFT检测时,遇到了下面这个问题:
1>Lab.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall cv::SIFT::SIFT(int,int,double,double,double)" (??0SIFT@cv@@QAE@HHNNN@Z),该符号在函数_main 中被引用
1>F:\C++\Lab\Debug\Lab.exe : fatal error LNK1120: 1 个无法解析的外部命令
找了半天资料没解决,后来发现只要在属性->debug下添加附加依赖项opencv_nonfree243d.lib以及在release下添加opencv_nonfree243.lib就可以了。
注意:前面的有d,后一个没有的,不要看错了
由于本人以前是opencv2.3下,所以就不会出错,无需添加前面所说的两个附加依赖项,但是在opencv2.4.3下将SIFT放在了nonfree下,可能是出于版权保护什么之类的原因吧,所以刚开始根本没想到这个方面。
转载请注明:http://blog.csdn.net/woyantianyi/article/details/8452400