我正在使用 clang 在 Windows 上构建一个 C++ 项目,并使用 CMake 生成该项目。我正在通过 Visual Studio/MSBuild 执行此操作。我已经为桌面(x86、x64)安装了 LLVM 和 VC++ 2015.3 v140 工具集。
要生成项目并构建我这样做:
mkdir build
cd build
cmake .. -G "Visual Studio 15 2017 Win64" -TLLVM-vs2014
cmake --build .
当我构建时,我收到此警告:
clang-cl.exe : warning : argument unused during compilation: '/Gm-' [-Wunused-command-line-argument]
当我打印 ${CMAKE_CXX_FLAGS}
时,我得到:
/DWIN32 -fms-extensions -fms-compatibility -D_WINDOWS -frtti -fexceptions -Wall -Wextra -Wno-long-long -Wno-missing-braces
但我没有看到 -/Gm
被插入到哪里,也没有看到如何删除它。
有人遇到过这种情况吗?
感谢您的帮助!
汤姆
最佳答案
这听起来像是一个 Visual Studio 错误 - 他们支持 clang 还为时过早。
我认为你应该在这里做正确的事 report this . Microsoft 似乎正在真正努力变得更加开放 - 在这个词的两种意义上 - 如果我们想要一个好的产品,我们应该努力帮助他们。
我会关注那些反对票......
关于c++ - 如何阻止 `/Gm-` 从 CMake 传递给 clang_cl.exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50883851/