[英]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.