У меня есть эта простая программа на C ++:
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "Hello Build Type!" << std::endl;
std::cin.get();
return 0;
}
Я могу собрать ее без проблем, используя команду CMake: cmake --build .
с CmakeLists.txt следующим образом:
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CONFIGURATION_TYPES DEBUG)
project (build_type CXX)
add_executable(cmake_examples_build_type main.cpp)
Однако, когда я изменяю CMAKE_CONFIGURATION_TYPES
на RELEASE
, я получаю эту ошибку при сборке с cmake --build .
Сборка начата 24.10.2008 10:35:38AM.
Проект "C: \ Users \ ialkeilani \ OneDrive - Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ALL_BUILD.vcxproj" на узле 1 (цели по умолчанию).
Проект "C: \ Users \ ialkeilani \ OneDrive - Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ALL_BUILD.vcxproj" (1) строит
"C: \ Users \ ialkeilani \ OneDrive
- Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ZERO_CHECK.vcxproj "(2) на узле 1 (цели по умолчанию).
C: \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V120 \ Microsoft.Cpp.Platform.targets (61,5): ошибка MSB8013: этот проект не содержит комбинацию конфигурации и платформыDebug | Win32.[C: \ Users \ ialkeilani \ OneDrive - Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ZERO_CHECK.vcxproj] Готовый строительный проект "C: \ Users \ ialkeilani \ OneDrive \ OneDrive - Ушрауто\ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ZERO_CHECK.vcxproj "(цели по умолчанию) - СБОЙ.
Готово Создание проекта" C: \ Users \ ialkeilani \ "OneDrive - Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ALL_BUILD.vcxproj "(цели по умолчанию) - FAILED.
Build FAILED.
"C: \ Users \ ialkeilani \ OneDrive - Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ALL_BUILD.vcxproj" (цель по умолчанию) (1) -> "C: \Пользователи \ ialkeilani \ OneDrive - Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ZERO_CHECK.vcxproj "(цель по умолчанию) (2) -> (цель PlatformPrepareForBuild) -> C: \Программные файлы (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V120 \ Microsoft.Cpp.Platform.targets (61,5): ошибка MSB8013: этот проект не содержит комбинацию конфигурации и платформы Deошибка | Win32.[C: \ Users \ ialkeilani \ OneDrive - Ushrauto \ temp \ cmake-examples-master \ 01-basic \ F-build-type \ build \ ZERO_CHECK.vcxproj]
0 Предупреждение (я)
1 Ошибка (и)
Истекшее время 00: 00: 00.18
Более того, когда я пытаюсь построить с использованием MSVC с помощью этой команды: msbuild build_type.sln /p:configuration=release
buildзаканчивается нормально, без проблем.
Может кто-нибудь объяснить мне, почему CMake не может создать конфигурацию выпуска, в то время как MSVC не имеет проблем?
Запуск MS Visual Studio 2013 и CMake 3.5.2