随着CentOS的没落,使用ubuntu的越来越多,而且国外貌似也比较流行使用ubuntu,像LLVM/Clang就有专门针对ubuntu编译二进制发布文件: 在这里插入图片描述

ubuntu本身也可以直接通过apt install命令来安装编译好的clang编译器。不过目前22.04版本下最高可安装版本还是停留在LLVM 15。

在LLVM 15中使用Clang编译器时,如果想要使用libc++库时,需要使用下面的命令进行安装:

1sudo apt install libc++-15-dev
2sudo ldconfig

安装好后,可以在CMakeLists.txt中add_executable后面添加:

1if (CMAKE_CXX_COMPILER MATCHES "clang")
2target_compile_options(${PROJECT_NAME} PRIVATE -stdlib=libc++)
3target_link_libraries(${PROJECT_NAME} PRIVATE c++)
4endif()

来启用libc++

笔者在使用时报错: 在这里插入图片描述 查看/usr/lib/x86_64-linux-gnu目录: 在这里插入图片描述

未发现有libc++abi.so,只有libc++abi.so.1libc++abi.so.1.0,这应该是ubuntu官方构建的一个BUG,需要手动创建一个符号链接即可:

1/usr/lib/x86_64-linux-gnu$ sudo ln -s libc++abi.so.1 libc++abi.so