我正在尝试让OpenCV在我的计算机上工作 - 对于简单的程序我可以让它工作,但对于这个特定的程序,我无法做到。我得到的错误如下:
Undefined symbols for architecture x86_64:
"cv::namedWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)", referenced from:
_main in ccuX28GE.o
"cv::split(cv::Mat const&, std::vector<cv::Mat, std::allocator<cv::Mat> >&)", referenced from:
computeFocusDPC(std::vector<R_image, std::allocator<R_image> >, int, float, int, int, int, int, cv::Mat*) in ccuX28GE.o
qDPC_loop(std::vector<cv::Mat, std::allocator<cv::Mat> >, std::vector<cv::Mat, std::allocator<cv::Mat> >, double) in ccuX28GE.o
"cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)", referenced from:
_main in ccuX28GE.o
"cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)", referenced from:
_main in ccuX28GE.o
ld: symbol(s) not found for architecture x86_64
我正在尝试使用命令行
编译文件 g++-5.1.0 -o qDPC_desktop qDPC.cpp -I. -std=c++11 -ggdb -fopenmp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_stitching
我知道这个错误不在qDPC.cpp的代码中,因为它可以在我朋友的Ubuntu上编译(我在Mac上工作) - 所以我想知道我的OpenCV是否有问题?我在网上在网上看到它可能是一个链接器问题,但是在我的生活中不能解决这个问题。我的OpenCV版本是2.4.11,我朋友能够编译的版本是2.4.9。
感谢所有帮助!