kyamagu / mexopencv

Collection and a development kit of matlab mex functions for OpenCV library
http://kyamagu.github.io/mexopencv
Other
659 stars 318 forks source link

how Mac to mexopencv #463

Open baba1587 opened 3 years ago

baba1587 commented 3 years ago

when I use mex here are something wrong . 错误使用 mexOpenCV (line 137) Undefined symbols for architecture x86_64: "_mexFunction", referenced from: -exported_symbol[s_list] command line option (maybe you meant: _mexFunctionAdapter) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

who can help me? thank you

baba1587 commented 3 years ago

MEX 配置为使用 'Xcode Clang++' 以进行 C++ 语言编译。

mexOpenCV '/Users/shantong/Downloads/mexopencv-master/src/mexopencv_ml.cpp' 使用 'Xcode Clang++' 编译。 错误使用 mexOpenCV (line 137) Undefined symbols for architecture x86_64: "MxArray::MxArray(bool)", referenced from: void MxArray::set(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, bool const&, unsigned long) in mexopencv_ml.o "MxArray::MxArray(double)", referenced from: void MxArray::set(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, double const&, unsigned long) in mexopencv_ml.o void MxArray::set(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, float const&, unsigned long) in mexopencv_ml.o "MxArray::MxArray(int)", referenced from: void MxArray::set(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int const&, unsigned long) in mexopencv_ml.o "MxArray::toInt() const", referenced from: createTrainData(cv::Mat const&, cv::Mat const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o loadTrainData(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o "MxArray::toMat(int, bool) const", referenced from: createTrainData(cv::Mat const&, cv::Mat const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o "MxArray::toBool() const", referenced from: createTrainData(cv::Mat const&, cv::Mat const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o loadTrainData(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o "MxArray::toDouble() const", referenced from: createTrainData(cv::Mat const&, cv::Mat const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o loadTrainData(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o "MxArray::toString() const", referenced from: createTrainData(cv::Mat const&, cv::Mat const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o loadTrainData(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, std::1::wrap_iter<MxArray const>, std::1::wrap_iter<MxArray const>) in mexopencv_ml.o "std::1::vector<std::1::basic_string<char, std::1::char_traits, std::1::allocator >, std::1::allocator<std::__1::basic_string<char, std::1::char_traits, std::1::allocator > > > MxArray::toVector<std::1::basic_string<char, std::1::char_traits, std::1::allocator > >() const", referenced from: createTrainData(cv::Mat const&, cv::Mat const&, std::1::__wrap_iter<MxArray const*>, std::1::__wrap_iter<MxArray const*>) in mexopencv_ml.o "_mexFunction", referenced from: -exported_symbol[s_list] command line option (maybe you meant: _mexFunctionAdapter) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)