Cmake区分libc++和libstdc++
Cmake differentiate between libc++ and libstdc++
我想使用 cmake 用 clang 和 gnu 编译我的 c++ 库。 Cmake 为我找出编译器,但对于 clang,我想使用 libc++,对于 gnu libstdc++,因为它们是相应的标准库。有没有办法在编译器上有条件地在 cmake 脚本中编写它。编写 -stdlib=libc++ 会给 gcc 带来问题,反之亦然。
有人知道怎么处理吗?
或者我可以设置我的编译器使其自动选择正确的库吗?
干杯,迈克
像这样的东西应该可以工作:
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
endif()
我想使用 cmake 用 clang 和 gnu 编译我的 c++ 库。 Cmake 为我找出编译器,但对于 clang,我想使用 libc++,对于 gnu libstdc++,因为它们是相应的标准库。有没有办法在编译器上有条件地在 cmake 脚本中编写它。编写 -stdlib=libc++ 会给 gcc 带来问题,反之亦然。
有人知道怎么处理吗?
或者我可以设置我的编译器使其自动选择正确的库吗?
干杯,迈克
像这样的东西应该可以工作:
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
endif()