繁体   English   中英

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

[英]Macports on OSX 10.9 - compile with -stdlib=libstdc++

在 OSX 10.9 中,clang++ 的默认-stdlib选项是libc++ ,所以这就是 Macport 在构建包时使用的。 有什么方法可以告诉 Macports 改用libstdc++吗?

特别是我想通过 Macports 构建 OpenCV 所以它使用libstdc++ ,但我想我也会遇到其他包的需要这样做

选项很简单: -stdlib=libstdc++

如果您需要更好地控制各种端口的构建过程,您可以随时设置变量,例如:
CXX = "clang -std=c++11 -stdlib=libc++ , CXXFLAGS = "-Wall -O2 -march=core2"等。

并从源代码构建<port>

sudo port -s install <port> -universal \  
configure.cc="${CC}" configure.cxx="${CXX}" \  
configure.cflags="${CFLAGS}" configure.cxxflags="${CXXFLAGS}"

另一种选择是安装gcc48 (或更高版本)端口,并将其用作编译器。 不要使用与旧版本 Xcode 一起安装的旧 gcc-4.2.1。 太垃圾了

实现这一点的一种方法似乎是从源代码构建 opencv,并使用 configure.cxx_stdlib 变量将 libstdc++ 指定为 C++ 运行时。

尝试以下方法:

sudo port install -s opencv configure.cxx_stdlib="libstdc++"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM