cmake无效的数字参数'/ Wextra'

时间:2010-02-16 15:38:19

标签: cmake

Windows XP Pro 32位

Visual Studio 2008 VC Express版。

我已经安装了cmake并创建了CMakeLists.txt,我想为Linux / windows跨平台。

在linux上运行一切正常。因此,我将源代码目录复制到我的Windows xp机器中。

我使用cmake-GUI配置/生成解决方案文件。一切都还不错。

但是,当我打开解决方案文件并从菜单中选择了构建时,我收到了以下错误。

cl : Command line error D8021 : invalid numeric argument '/Wextra'

不确定从哪里开始寻找解决此错误的方法。如果有人能指出我正确的方向。

非常感谢任何建议,

1 个答案:

答案 0 :(得分:24)

你的CMakeLists.txt为GCC定义了编译标志-Wextra,然后CMake也尝试在cl(Microsoft编译器)上使用它。修复CMakeLists.txt,以便在设置警告标志之前测试编译器,即

# Set default compile flags for GCC
if(CMAKE_COMPILER_IS_GNUCXX)
    message(STATUS "GCC detected, adding compile flags")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -pedantic -Wall -Wextra")
endif(CMAKE_COMPILER_IS_GNUCXX)