如何检查是否安装了libc++
How to check if libc++ is installed?
我正在从源代码构建一些东西。我的系统的gcc和stdlibc++太旧了,但我可以使用clang构建。默认情况下,clang使用stdlibc++,但可以选择安装libc++以供clang使用。
检查libc++是否与clang一起安装的最佳方法是什么?
比@n.n:稍好的答案
printf "#include <ciso646>nint main () {}" | clang -E -stdlib=libc++ -x c++ -dM - | grep _LIBCPP_VERSION
如果它打印出类似于:#define _LIBCPP_VERSION 3700
的内容,那么您就得到了libc++。
检查是否安装了libc++最简单的方法是在一个琐碎的程序上使用它:
clang++ -xc++ -stdlib=libc++ - <<EOF
int main(){}
EOF
如果失败,则说明您没有libc++。
在实际应用程序中,添加用户提供的编译器和链接器选项:
clang++ $(CXXFLAGS) $(LDFLAGS) -xc++ -stdlib=libc++ - <<EOF
这样用户就有机会指定libc++安装在非标准位置。
以下是如何检查是否安装了库:
在终端中键入ldconfig -p | grep libc++
。使用什么系统并不重要。如果没有安装libc++,终端将不会说任何话。如果已安装,它将显示可用的版本。
您可能会混淆gcc和clang所做的事情。要将代码编译为C++,您必须使用g++
而不是gcc
,分别使用clang++
而不是clang
。
我怀疑libc++
库本身是否缺失,因为几乎可以肯定某些程序依赖于它们。
相关文章:
- 检查是否安装了 windows10 C++
- OpenCV 检查计算机上是否安装了视频编解码器 (C++)
- 导出(安装)的 cmake 目标是否可分发?
- 是否可以在 Azure 应用服务中安装 C++ 编译器
- Qt安装程序框架:检测是否安装了VC++可再发行组件
- 如何检查应用程序是否安装了 jni?
- 是否可以为 Visual Studio Code 安装多个 CMake 扩展?
- 是否可以简化此方法以安装和导出基于 CMake 的项目?
- 安装 GCC 7.1 是否会在标准库中包含 std::is_base_of_v
- 检测是否安装了Office 365
- POPEN 可以找出是否安装了某些应用程序吗?
- 使用MsiGetProductInfo检查是否安装了Microsoft Word
- 确定命令行程序是否C++安装
- 将 Python 嵌入到C++应用程序中,如果是否安装了 python(在 Windows 上)
- 我是否安装错误了 pqxx
- 另一种检查应用程序是否安装在MAC OS X上的方法
- 检查是否安装了adb
- 通过c++判断一个程序是否安装在Linux中
- 如何以编程方式检查Windows Server 2016上是否安装了桌面体验
- 如何检查是否安装了libc++