opencv - OSX 10.9上的Macports-使用libstdc++编译opencv

标签 opencv osx-mavericks macports libstdc++ libc++

我的情况与this thread中讨论的情况非常相似。我要这样做的原因是我将OpenCV与CUDA 6.0一起使用,但是CUDA当前与libstdc++链接。我遵循了建议放置标志-stdlib=libstdc++的答案,以及我们设置CXXCXXFLAGS的另一种方法,但是正如被评论的那样:Macports似乎不承认这些标志,并且仍然使用libc++而非预期的libstdc++构建。

我想在该话题中发表评论,要求采取后续行动,但很遗憾,我的声誉还不够。

有谁知道如何让Macports使用libstdc++安装OpenCV?

编辑1:我没有回过头来检查下面提供的答案之一是否有效。使用libstdc++编译OpenCV会导致其他一些主要使用libc++的非CUDA项目出现问题,因此我不太可能尝试。但是,如果有人可以在下面尝试一个答案并可以给我评论,我会接受一个答案。

编辑2:此问题不再适用于我的情况,因为CUDA 7.0 RC默认情况下具有libc++支持。我仍然会按照“修改版1”接受答案。

最佳答案

在boost的情况下,我能够强制MacPorts像这样链接到libstdc++:

sudo port -s install boost configure.cxx_stdlib="libstdc++" configure.compiler="macports-gcc-4.7"

就是这样!显然,您无需自己传递“-stdlib = libstdc++”。 otool -L显示了我希望看到的内容:
$ otool -L /opt/local/lib/libboost_date_time-mt.dylib
/opt/local/lib/libboost_date_time-mt.dylib:
        /opt/local/lib/libboost_date_time-mt.dylib (compatibility version 0.0.0, current version 0.0.0)
        /opt/local/lib/libgcc/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.18.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
        /opt/local/lib/libgcc/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

关于opencv - OSX 10.9上的Macports-使用libstdc++编译opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600350/

相关文章:

mysql - Mavericks 上的 Rails + MySQL - 库未加载 : libmysqlclient. 18.dylib

php - dyld:未加载库:/usr/local/lib/libpng16.16.dylib 与 php 相关的任何内容

c++ - 带有 Macports 的 Mac 上的 OpenSceneGraph 链接器错误

ios - 在 OS X Mavericks 上安装 Calabash-cucumber 错误

php - 如何安装 php-cgi?我尝试了 MacPort、Package 和其他一切,但都没有用

macos - 无法将端口添加到 MacPorts 中的本地存储库

c - 我的 Opencv 应用程序处理速度非常慢

opencv - 如何阅读 OpenCV 文档代码或方程式

linux - 在 Fedora 中安装 OpenCv 的最佳方法是什么?

c++ - 如何处理 OpenCV 轮廓的坐标?