使用opencv在Mac OSX 10.9上编译c ++程序时出现问题

时间:2015-09-08 23:09:32

标签: c++ macos opencv clang

我正在尝试通过使用opencv(版本2.4.12)的命令行(和clang)在Mac OSX 10.9上编译C ++程序,并遇到了一些问题。

我正在尝试通过在终端中运行以下代码来编译程序:

clang --std=c++11 -stdlib=libc++ test.cpp -L/usr/local/Cellar/opencv/2.4.12/lib -lopencv_core.2.4.12 -lopencv_ml.2.4.12 -lopencv_video.2.4.12 -lopencv_ml -lopencv_video -lc++ 

但是我收到以下错误:

Undefined symbols for architecture x86_64:
  "cv::namedWindow(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)", referenced from:

还有一串无法找到的其他opencv函数。

在做了一些额外的研究后,我发现问题可能与使用libc ++而不是libstdc ++作为库有关。我尝试切换到libstdc ++并遇到以下错误。

fatal error: 'array' file not found
#include <array>

我研究了这个错误并发现对于Mac来说,这是因为使用了libstdc ++而不是libc ++。从本质上讲,我有点陷入循环,需要一些帮助来编译这个程序。有什么想法吗?

0 个答案:

没有答案