我正在从源头上建造一些东西。我的系统的gcc和stdlibc++太老了,但是我可以使用一个clang构建。默认情况下,clang使用stdlibc++,但是libc++可以被选择性地安装到clang使用。
检查libc++是否安装有clang的最佳方法是什么?
发布于 2016-07-18 20:45:34
比@N.N稍好一点:
printf "#include <ciso646>\nint main () {}" | clang -E -stdlib=libc++ -x c++ -dM - | grep _LIBCPP_VERSION
如果打印的是:#define _LIBCPP_VERSION 3700,那么就有libc++了。
发布于 2016-07-18 17:37:15
检查是否安装了libc++最简单的方法是在一个简单的程序上使用它:
clang++ -xc++ -stdlib=libc++ - <<EOF
int main(){}
EOF如果失败,您就没有libc++。
在实际应用程序中,添加用户提供的编译器和链接器选项:
clang++ $(CXXFLAGS) $(LDFLAGS) -xc++ -stdlib=libc++ - <<EOF这样用户就有机会指定libc++安装在一个非标准的地方。
发布于 2016-07-18 16:30:57
下面是如何检查是否安装了库:
在终端中键入ldconfig -p | grep libc++。不管您使用的是哪种系统。如果没有安装libc++,终端就不会说任何话。如果安装了,它将显示可用的版本。
https://stackoverflow.com/questions/38441490
复制相似问题