使用CVE特征分解和其他方法时未解决的外部符号错误
我刚开始学习openCV,并试图在这里复制一个在线示例“人脸识别”程序:。 但是,对于一些函数,我得到了一个“未解析的外部符号”错误:使用CVE特征分解和其他方法时未解决的外部符号错误,c,opencv,C,Opencv,我刚开始学习openCV,并试图在这里复制一个在线示例“人脸识别”程序:。 但是,对于一些函数,我得到了一个“未解析的外部符号”错误: cvEigenDecomposite cvCalcEigenObjects indNearestNeighbor(float *) // functions defined locally by the user loadTrainingData(struct CvMat *) // functions defined locally by the us
cvEigenDecomposite
cvCalcEigenObjects
indNearestNeighbor(float *) // functions defined locally by the user
loadTrainingData(struct CvMat *) // functions defined locally by the user
当我弄乱链接器时,“未解析的外部符号”会出现。奇怪的是,对于我在其他网站上做过的其他例子来说,它工作得很好。我的推理是,前两个函数cvEigenDecomposite
和cvcalceingobjects
需要额外的.lib对象,我没有链接到它们,其他两个函数依赖于前两个。所以我的问题是这些函数是否需要链接到额外的.lib对象?
以下是我当前链接到的.lib对象的列表:
opencv_core231d.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_features2d231d.lib
opencv_calib3d231d.lib
谢谢
编辑:
错误:
1> main.obj:错误LNK2019:函数“void”中引用了未解析的外部符号(?learn@@YAXXZ)
1> main.obj:错误LNK2019:函数“void”\uu cdecl doPCA(void)”(?doPCA@@YAXXZ)中引用的未解析外部符号
1> main.obj:错误LNK2019:未解析的外部符号“int _cdecl findNearestNeighbor(float*)”(?findNearestNeighbor@@YAHPAM@Z)在函数“void\uu cdecl recognize(void)”中引用(?recognize@@YAXXZ)
1> main.obj:错误LNK2019:函数“void\u cdecl recognize(void)”(?recognize@@YAXXZ)中引用的未解析外部符号“int\u cdecl loadTrainingData(struct CvMat**)”(?loadTrainingData@@YAHPAPAUCvMat@@@Z)
1> C:\Users\Lyukshins\Dropbox\Programming\OpenCV2\Face Recognition\Debug\Face Recognition.exe:致命错误LNK1120:4个未解析的外部
依赖项:
C:\opencv\build\include
C:\opencv\build\include\opencv2
C:\opencv\build\include\opencv
包括的目录:
C:\opencv\build\x86\vc10\lib
C:\opencv\build\include
cve
和cvcalceingobjects
位于opencv\u legacy231d.lib
如你所说,另外两个函数是本地函数。因此,必须在调用它们的函数之前在代码中声明它们。您可以粘贴完整链接器命令和错误吗?