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

我想在Arch Linux的CMake项目中使用libc ++和clang。 我安装了libc ++,并在“在您的程序中使用libc ++”的Linux部分中的LLVM站点上提到了CMakeLists.txt的以下行:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") set(CMAKE_EXE_LINKER_FLAGS "-lc++abi") 

我已经在连接器的标志中试过“++ abi”,但是没有帮助。 我需要一些帮助来弄清楚我应该写在我的CMakeLists.txt中。

我会添加这个作为评论,但我缺乏声誉。

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

 set(CMAKE_CXX_COMPILER "clang++") 

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

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

 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi")