начальные условия:
простой исходный файл:
#include <stdio.h>
int main ()
{
printf("Hello, World!\n")
return 0;
}
обратите внимание на пропущенные ";" , это для тестирования.
также простой cmakelists.txt:
cmake_minimum_required(VERSION 3.16)
project(test3 C)
set(CMAKE_C_STANDARD 11)
add_executable(test3 main.c)
среда была инициализирована так:
C: \ dev \ рабочее пространство \ test3 \ cmake-build-debug> "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ VC \ Auxiliary \ Build \" vcvarsall.bat x64
** Командная строка разработчика Visual Studio 2019 v16.5.1 ** Авторское право (c) Корпорация Майкрософт 2019 **************************** ****************************************** ["vcvarsall.bat] Среда инициализирована для: 'x64'
C: \ dev \ workspace \ test3 \ cmake-build-debug> C: \ dev \ tools \ apps \ CLion \ ch-0 \ 201.6487.17 \ bin \ cmake \ win \ bin \ cmake.exe .. -G "Makeake-файлы NMake" - Идентификатор компилятора C - MSV C 19.25.28611.0 - Проверить работоспособность компилятора C: C: / Программа Файлы (x86) / Microsoft Visual Studio / 2019 / Professional / VC / Tools / MSVC / 14.25.28610 / bin / Hostx64 / x64 / cl.exe - проверка работоспособности компилятора C: C: / Program Files ( x86) / Microsoft Visual Studio / 2019 / Professional / VC / Инструменты / MSVC / 14.25.28610 / bin / Hostx64 / x64 / cl.exe - работает - Обнаружение * ABI информации компилятора C - Обнаружение * ABI информации компилятора C - выполнено - - Обнаружение C функций компиляции - Обнаружение C функций компиляции - выполнено - Конфигурирование выполнено - Создание выполнено - Файлы сборки были записаны в: C: / dev / workspace / test3 / cmake-build-debug
если я собираю проект с помощью nmake, вывод выглядит корректно (с ошибками компилятора):
C: \ dev \ workspace \ test3 \ cmake-build- debug> nmake
Утилита обслуживания программ Microsoft (R), версия 14.25.28611.0, авторское право (C) Microsoft Corporation. Все права защищены.
Проверка зависимостей целевого теста3 [50%] Сборка C объекта CMakeFiles / test3.dir / main. c .obj main. c C: \ dev \ workspace \ test3 \ main. c (6): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед возвратом C: \ dev \ workspace \ test3 \ main. c (7): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '}' NMAKE: фатальная ошибка U1077: 'C: \ PROGRA ~ 2 \ MIB055 ~ 1 \ 2019 \ PROFES ~ 1 \ VC \ Tools \ MSVC \ 1425 ~ 1.286 \ bin \ Hostx64 \ x64 \ cl.exe' : код возврата '0x2' Стоп. NMAKE: фатальная ошибка U1077: '"C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ VC \ Tools \ MSVC \ 14.25.28610 \ bin \ HostX64 \ x64 \ nmake.exe"': возврат код «0x2» Стоп. NMAKE: фатальная ошибка U1077: '"C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ VC \ Tools \ MSVC \ 14.25.28610 \ bin \ HostX64 \ x64 \ nmake.exe"': возвращение код '0x2' Стоп.
, однако, если я пытаюсь использовать cmake для сборки, он выдает пустой вывод:
C: \ dev \ workspace \ test3 \ cmake-build-debug> cd ..
C: \ dev \ workspace \ test3> C: \ dev \ tools \ apps \ CLion \ ch-0 \ 201.6487.17 \ bin \ cmake \ win \ bin \ cmake.exe --build C: \ dev \ workspace \ test3 \ cmake-build-debug --target test3
C: \ dev \ workspace \ test3>
что тут не так?