C++ 架构x86_64的未定义符号;cv::face::createFisherFaceRecognizer(整数,双精度)“;,引用自:main.o中的\u main

C++ 架构x86_64的未定义符号;cv::face::createFisherFaceRecognizer(整数,双精度)“;,引用自:main.o中的\u main,c++,xcode,opencv,C++,Xcode,Opencv,我正在使用opencv进行视频中的人脸识别。我遵循了opencv网站()上的教程。当我尝试在xcode中构建代码时,我遇到以下错误 架构x86_64的未定义符号: “cv::face::createFisherFaceRecognizer(int,double)”,引用自: _主音中的主音 ld:找不到架构x86_64的符号 clang:error:linker命令失败,退出代码为1(使用-v查看调用) 我对这里给出的代码做了一些修改 请引导我通过它,因为我是新的opencv 提前谢谢 嗯,错误

我正在使用opencv进行视频中的人脸识别。我遵循了opencv网站()上的教程。当我尝试在xcode中构建代码时,我遇到以下错误

架构x86_64的未定义符号: “cv::face::createFisherFaceRecognizer(int,double)”,引用自: _主音中的主音 ld:找不到架构x86_64的符号 clang:error:linker命令失败,退出代码为1(使用-v查看调用)

我对这里给出的代码做了一些修改

请引导我通过它,因为我是新的opencv


提前谢谢

嗯,错误表明您正在为x86_64编译(客户端)代码,但OpenCV是为x86编译的。哦!我如何纠正它?你真的链接到简历库了吗?显示链接器命令将有所帮助。另外,请确保您的opencv库是为x86_64构建的。opencv和您的代码都必须为相同的目标体系结构构建;(动态链接的)二进制文件(
.so
或EXEXUTABLE)的体系结构可以(除其他外)在其上运行
文件
。您可以通过这种方式检查OpenCV so文件。我不知道您是如何获得OpenCV的(下载了二进制文件或自己编译的),但最简单的方法是为x86构建代码(使其正常工作),然后将所有代码切换到x86_64(利用其优势)。
-lopencv_face
在libs列表中缺失