CL.EXE无法编译简单的测试程序VS2017

cl.exe is not able to compile a simple test program VS2017

本文关键字:测试程序 VS2017 简单 编译 EXE CL      更新时间:2023-10-16

我正在尝试使用cmake在VS2017上编译我的C 项目(我正在使用Windows 10 x64)。这是我的tasks.json

{
"version": "2.0.0",
"tasks": [
    {
        "label": "CMake Debug",
        "type": "shell",
        "options": {
            "cwd": "${workspaceRoot}/build"
        },
        "command": "CMake",
        "args": [
            "-G",
            "NMake Makefiles",
            "-DCMAKE_BUILD_TYPE=Debug",
            ".."
        ],
        "problemMatcher": [
            "$gcc"
        ]
    },
    {
        "label": "Make",
        "type": "shell",
        "options": {
            "cwd": "${workspaceRoot}/build"
        },
        "command": "nmake",
        "group": {
            "kind": "build",
            "isDefault": true
        }
    }
]

}

,当我运行CMAKE调试任务时,我会收到以下错误:

Executing task: CMake -G 'NMake Makefiles' -DCMAKE_BUILD_TYPE=Debug .. <
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x86/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x86/cl.exe -- broken
CMake Error at C:/Program Files/CMake/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message):
  The C compiler
    "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x86/cl.exe"
  is not able to compile a simple test program.
  It fails with the following output:
    Change Dir: C:/Users/Paul/Desktop/EIP/Cryptagora-prisma/monitoring_tool/build/CMakeFiles/CMakeTmp
    Run Build Command:"nmake" "/nologo" "cmTC_8304cfast"
        "C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.16.27023binHostX64x64nmake.exe" -f CMakeFilescmTC_8304c.dirbuild.make /nologo -L                  CMakeFilescmTC_8304c.dirbuild
    Building C object CMakeFiles/cmTC_8304c.dir/testCCompiler.c.obj
        C:PROGRA~2MICROS~22017COMMUN~1VCToolsMSVC1416~1.270binHostx64x86cl.exe    -o CMakeFilescmTC_8304c.dirtestCCompiler.c.obj   -c C:UsersPaulDesktopEIPCryptagora-prismamonitoring_toolbuildCMakeFilesCMakeTmptestCCompiler.c
    NMAKE : fatal error U1045: Úchec de la gÚnÚration dynamiqueá: Invalid argument
    Stop.
    NMAKE : fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.16.27023binHostX64x64nmake.exe"'á: code retour '0x2'
    Stop.


  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:3 (project)

-- Configuring incomplete, errors occurred!
See also "C:/Users/Paul/Desktop/EIP/Cryptagora-prisma/monitoring_tool/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Paul/Desktop/EIP/Cryptagora-prisma/monitoring_tool/build/CMakeFiles/CMakeError.log".
The terminal process terminated with exit code: 1

昨天这很好。

我几个月前就遇到了这个问题,不得不恢复到较旧版本的cmake。专门降级到3.12.4。