在Linux上将libc ++链接到CMake项目

Ost*_*rea 10 c++ linux cmake llvm clang++

我想在CMake项目中使用libc ++和Arch Linux上的clang.我安装了libc ++并在CMakeLists.txt中添加了以下行,如"在程序中使用libc ++"的Linux部分中的LLVM站点上所述:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++")
set(CMAKE_EXE_LINKER_FLAGS "-lc++abi")
Run Code Online (Sandbox Code Playgroud)

我在链接器的标志中尝试了"++ abi",但它没有帮助.我需要一些帮助来弄清楚我应该在我的CMakeLists.txt中写些什么.

小智 17

不要忘记将编译器设置为clang ++:

set(CMAKE_CXX_COMPILER "clang++")
Run Code Online (Sandbox Code Playgroud)

另外,清除cmake生成的文件(删除文件夹CMakeFilesCMakeCache.txt).

根据您的系统,它也可能有助于设置

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi")
Run Code Online (Sandbox Code Playgroud)