2

我用 cmake 和 msvc 构建了boringssl 然后我尝试用 clang-cl 构建所以我在 vmake 参数中使用了 -T"LLVM-vs2014"

Clang-cl 使用 cl 参数但是 cmake 使用 gcc 样式参数而不添加 -Xclang

4

2 回答 2

5

处理这种情况的正确方法是检查

(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC"))
于 2018-06-15T10:12:00.253 回答
0

问题出在这里:

if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wshadow -Werror -Wno-error=shadow -Wno-error=unused-value -ggdb -std=gnu89")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wshadow -Werror -Wno-error=shadow -Wno-error=unused-value -ggdb -std=c++0x")

我将 Clang 更改为 Clng,所以 clang-cl 没有被识别为 clang.exe,它采用 gcc 样式参数

于 2018-06-14T17:51:44.443 回答