【发布时间】:2018-06-15 23:41:59
【问题描述】:
我正在使用 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 插入的位置或如何删除它。
这是以前有人遇到过的吗?
感谢您的帮助!
汤姆
【问题讨论】:
-
我发现找到杂散编译标志来自何处的最佳方法之一是使用
--trace运行cmake。不过,它有大量的输出,所以你可能想将它发送到一个文件中(我不确定在 Windows 上,但它在 Unix 上是cmake ... --trace >out.txt) -
啊好主意!我会尝试一下,看看我是否可以收集任何其他信息。非常感谢您的建议。
标签: c++ cmake clang compiler-warnings