I have a precompiled opencv2.framework from OpenCV and I added it to my project. However, an attempt to compile the project gives errors such as:
Undefined symbols for architecture armv7: "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from: std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >::__append(unsigned long) in opencv2(matrix.o) std::__1::vector<cv::Vec<int, 128>, std::__1::allocator<cv::Vec<int, 128> > >::__append(unsigned long) in opencv2(matrix.o) std::__1::vector<cv::Vec<int, 64>, std::__1::allocator<cv::Vec<int, 64> > >::__append(unsigned long) in opencv2(matrix.o) std::__1::vector<cv::Vec<int, 32>, std::__1::allocator<cv::Vec<int, 32> > >::__append(unsigned long) in opencv2(matrix.o) std::__1::vector<cv::Vec<int, 16>, std::__1::allocator<cv::Vec<int, 16> > >::__append(unsigned long) in opencv2(matrix.o) std::__1::vector<cv::Vec<int, 12>, std::__1::allocator<cv::Vec<int, 12> > >::__append(unsigned long) in opencv2(matrix.o) std::__1::vector<cv::Vec<int, 9>, std::__1::allocator<cv::Vec<int, 9> > >::__append(unsigned long) in opencv2(matrix.o) ... "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: cv::Exception::Exception(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in opencv2(system.o) cv::error(cv::Exception const&) in opencv2(system.o) _cvRegisterModule in opencv2(system.o) "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: cv::Exception::formatMessage() in opencv2(system.o) "_OBJC_CLASS_$_ALAssetsLibrary", referenced from: objc-class-ref in opencv2(cap_ios_video_camera.o) "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__init(char const*, unsigned long)", referenced from: cv::sum(cv::_InputArray const&) in opencv2(stat.o) cv::countNonZero(cv::_InputArray const&) in opencv2(stat.o) cv::mean(cv::_InputArray const&, cv::_InputArray const&) in opencv2(stat.o) cv::meanStdDev(cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_InputArray const&) in opencv2(stat.o) cv::minMaxIdx(cv::_InputArray const&, double*, double*, int*, int*, cv::_InputArray const&) in opencv2(stat.o) cv::minMaxLoc(cv::_InputArray const&, double*, double*, cv::Point_<int>*, cv::Point_<int>*, cv::_InputArray const&) in opencv2(stat.o) cv::norm(cv::_InputArray const&, int, cv::_InputArray const&) in opencv2(stat.o) ... "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from: cv::sum(cv::_InputArray const&) in opencv2(stat.o) cv::countNonZero(cv::_InputArray const&) in opencv2(stat.o) cv::mean(cv::_InputArray const&, cv::_InputArray const&) in opencv2(stat.o) cv::meanStdDev(cv::_InputArray const&, cv::_OutputArray const&, cv::_OutputArray const&, cv::_InputArray const&) in opencv2(stat.o) cv::minMaxIdx(cv::_InputArray const&, double*, double*, int*, int*, cv::_InputArray const&) in opencv2(stat.o) cv::minMaxLoc(cv::_InputArray const&, double*, double*, cv::Point_<int>*, cv::Point_<int>*, cv::_InputArray const&) in opencv2(stat.o) cv::norm(cv::_InputArray const&, int, cv::_InputArray const&) in opencv2(stat.o) ... ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
I installed Build Active Architecture only None in my build settings, but this is still happening. What do I need to do to get OpenCV working? I use Xcode 5, focusing on iOS7.
I already added -lstdc++ to the linker flags and switched the C ++ compiler to libstdc ++, as for this answer .
I tried to compile OpenCV from source, but this gives the same error.
The same thing, regardless of whether there is an iOS6 or 7 deployment target.