CMake + Ninja + Visual Studio Express 17: не удалось проверить C и компилятор CXX - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь сгенерировать проект Visual Studio Express, используя CMake и определяя Ninja в качестве инструмента для сборки. Согласно этому ответу , я запускаю свою команду в Powershell

cmake $src -GNinja -DCMAKE_BUILD_TYPE=debug -DCMAKE_C_COMPILER="$cl" -DCMAKE_CXX_COMPILER="$cl" -DMSVC_TOOLSET_VERSION=141

, где $cl - это путь к cl.exe. По умолчанию при генерации для Visual Studio те же проверки проходят нормально, и проект генерируется.

Вывод, который я получаю:

-- 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/WDExpress/VC/Tools/MSVC/14.16.27023
/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/WDExpress/VC/Tools/MSVC/14.16.27023
/bin/Hostx86/x64/cl.exe -- broken
CMake Error at D:/CMake/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake:60 (message):
  The C compiler

    "C:/Program Files (x86)/Microsoft Visual Studio/2017/WDExpress/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: D:/DEV_BUILD/OpenCV3Cookbook/CMakeFiles/CMakeTmp

    Run Build Command(s):C:/PROGRA~1/ninja/ninja.exe cmTC_b6050 && [1/2] Building C object CMakeFiles\cmTC_b6050.dir\tes
tCCompiler.c.obj
    FAILED: CMakeFiles/cmTC_b6050.dir/testCCompiler.c.obj
    C:\PROGRA~2\MICROS~1\2017\WDEXPR~1\VC\Tools\MSVC\1416~1.270\bin\Hostx86\x64\cl.exe    -o CMakeFiles\cmTC_b6050.dir\t
estCCompiler.c.obj   -c testCCompiler.c
    Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27038 for x64
    Copyright (C) Microsoft Corporation.  All rights reserved.

    cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
    testCCompiler.c
    c1: fatal error C1356: unable to find mspdbcore.dll
    ninja: build stopped: subcommand failed.





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


-- Configuring incomplete, errors occurred!

Я хочу создать визуал Студийный проект и создайте его через Ninja, используя инкрементную сборку и т. Д. c.

Я также не понимаю, как можно указать платформу x64.

...