简体   繁体   English

cmake将clang-cl检测为clang

[英]cmake detects clang-cl as clang

I built boringssl with cmake and msvc Then I tried to build with clang-cl so I used -T"LLVM-vs2014" in vmake arguments 我使用cmake和msvc构建了boringssl,然后尝试使用clang-cl构建,因此在vmake参数中使用了-T“ LLVM-vs2014”

Clang-cl uses cl arguments however cmake used gcc style arguments without adding -Xclang Clang-cl使用cl参数,但是cmake使用gcc样式参数而不添加-Xclang

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

(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC"))

the problem was here : 问题在这里:

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")

I changed Clang to Clng so clang-cl wasn't identified as clang.exe which take gcc style arguments 我将Clang更改为Clng,因此未将clang-cl标识为采用gcc样式参数的clang.exe

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM