【发布时间】:2014-08-27 07:56:33
【问题描述】:
我的情况与this thread 中讨论的情况非常相似。我想这样做的原因是我将 OpenCV 与 CUDA 6.0 一起使用,但 CUDA 目前与 libstdc++ 链接。我遵循了建议放置标志-stdlib=libstdc++ 的答案以及我们设置CXX 和CXXFLAGS 的另一种方法,但正如它所评论的那样:Macports 似乎没有承认这些标志,并且仍然使用 libc++ 而不是预期的 libstdc++。
我想对该线程发表评论以要求跟进,但不幸的是我还没有足够的声誉。
有谁知道如何让 Macports 用 libstdc++ 安装 OpenCV?
编辑 1: 我没有回去检查下面提供的答案之一是否有效。使用 libstdc++ 编译 OpenCV 会导致其他一些主要使用 libc++ 的非 CUDA 项目出现问题,因此我不太可能尝试。但是,如果有人可以在下面尝试答案并在可行时对我发表评论,我会接受答案。
已编辑 2: 这个问题不再适用于我的情况,因为 CUDA 7.0 RC 默认支持 libc++。我仍然会接受每个 Edited 1 的答案。
【问题讨论】:
-
重新考虑我给出的答案,可能需要使用 gcc-4.8.2 端口,并将
gcc -std=c99和/或g++ -std=c++11作为CC、CXX变量传递。您还需要确保使用 libstdc++ 构建任何依赖项。port rdeps OpenCV列出了 很多 个包,不幸的是,其中一些包含 C++ 组件。
标签: opencv osx-mavericks macports libstdc++ libc++