Я пытаюсь сгенерировать проект 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.