CMake и Visual Studio: не удалось запустить MSBuild.exe - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь создать исходные файлы OpenCV и создать проект Visual Studio с помощью CMake. Я столкнулся с проблемой, которая кажется не решенной ни с помощью этих следующих рекомендаций: здесь - выберите правильную версию Visual Studio (например, v16 2019) при сборке с помощью CMake, установите MSBuild.exe и добавьте его местоположение в системный PATH -, здесь - установить Windows SDK - и здесь - установить необходимую рабочую нагрузку в Visual Studio относительно CMake / C ++ и перезагрузить его.

Затем я прошу вашей помощи. В настоящее время я работаю с:

  1. ОС: Windows 8.1 Pro 64 бит
  2. CMake (GUI) Версия 3.17.2, расположенная по адресу C:\Program Files\CMake\bin
  3. Microsoft Visual Studio 2019 версии 16.6.0
  4. MSBuild. exe версии 16.6.0, расположенный по адресу C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
  5. OpenCV 4.3.0, расположенный по адресу D:\opencv;
  6. sdksetup.exe версия 8.100, расположенный по адресу C:\Program Files (x86)\Microsoft SDKs\Windows Kits\8.1\StandaloneSDK
  7. Мой путь в переменных среды моей системы: %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\MinGW\bin;C:\Program Files\CMake\bin\;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\;C:\Program Files (x86)\Microsoft SDKs\Windows Kits\8.1\Windows Performance Toolkit;C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\

Я открываю CMake с правами администратора, затем выбираю «Visual Studio 16 2019» в качестве генератора, и у меня всегда появляется следующее всплывающее сообщение об ошибке: вверх при нажатии на кнопку «Настроить»:

Ошибка в процессе настройки, файлы проектов могут быть недействительными.

Я пытался сделать это с двумя разными CMakeLists.txt , простой и полный.

Простой скрипт

# cmake needs this line
cmake_minimum_required(VERSION 3.1)

# Define project name
project(opencv_example_project)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)

# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS "    config: ${OpenCV_DIR}")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

# Declare the executable target built from your sources
add_executable(opencv_example example.cpp)

# Link your application with OpenCV libraries
target_link_libraries(opencv_example PRIVATE ${OpenCV_LIBS})

В этом случае в строке состояния предупреждено:

CMake Error at CMakeLists.txt:5 (project):
  Failed to run MSBuild command:

    C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe

  to get the value of VCTargetsPath:

    Microsoft(R) Build Engine versÆo 16.6.0+5ff7b0c9e para .NET Framework 

    Copyright (C) Microsoft Corporation. Todos os direitos reservados.

Полный сценарий

Который можно найти здесь https://github.com/opencv/opencv/blob/master/CMakeLists.txt. Я позаботился об удалении всех файлов CMakeCache и удалении кеша внутри CMake- GUI. В этом случае в строке состояния появилось предупреждение:

CMake Error at CMakeLists.txt:106 (enable_language):
  Failed to run MSBuild command:

    C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/MSBuild/Current/Bin/MSBuild.exe

  to get the value of VCTargetsPath:

    Microsoft(R) Build Engine versÆo 16.6.0+5ff7b0c9e para .NET Framework 

Просто до sh: в разделе «О программе» внутри Microsoft Visual Studio мы можем увидеть, какие рабочие нагрузки были загружены:

  • Microsoft Visual Studio Community 2019
  • Версия 16.6.0
  • VisualStudio.16.Release / 16.6.0 + 30114.105
  • Microsoft. NET Framework
  • Версия 4.8.03761
  • Установленная версия: Community
  • Visual C ++ 2019 00435-60000-00000-AA905
  • Microsoft Visual C ++ 2019
  • Тестовый адаптер для Google Test 1.0
  • Включает инструменты тестирования Visual Studio с записанными модульными тестами для Google Test. Условия использования и уведомления третьих лиц доступны в каталоге установки расширения.
  • ASP. NET и Web Tools 2019 16.6.936.3669
  • ASP. NET и Веб-инструменты 2019
  • Мастера Microsoft Visual C ++ 1.0
  • Мастера Microsoft Visual C ++
  • Расширение IntelliCode 1.0
  • Подробное расширение IntelliCode Информация для Visual Studio
  • Инструменты C # 3.6.0-4.20251.5 + 910223b64f108fcf039012e0849befb46ace6e66
  • C # компонентов, используемых в среде IDE. В зависимости от типа и настроек вашего проекта может использоваться другая версия компилятора.
  • Visual Basi c Инструменты 3.6.0-4.20251.5 + 910223b64f108fcf039012e0849befb46ace6e66
  • Visual Basi c компоненты, используемые в IDE. В зависимости от типа и настроек вашего проекта может использоваться другая версия компилятора.
  • Инструменты Visual Studio для CMake 1.0 (интересно)
  • Инструменты Visual Studio для CMake (ммм, хорошо)
  • Диспетчер пакетов NuGet 5.6.0
  • Диспетчер пакетов NuGet в Visual Studio. Для получения дополнительных сведений о NuGet посетите https://docs.nuget.org/
  • Microsoft JVM Debugger 1.0
  • Предоставляет поддержку для подключения отладчика Visual Studio к JDWP-совместимым Java виртуальным машинам
  • Microsoft MI-Based Debugger 1.0
  • Обеспечивает поддержку подключения Visual Studio к MI-совместимым отладчикам
  • Пакет хоста адаптера отладки Visual Studio Code 1.0
  • Уровень взаимодействия с хостом Адаптеры отладки Visual Studio Code в Visual Studio
  • Microsoft Visual Studio 1.0 V C пакет
  • Microsoft Visual Studio V C пакет
  • ProjectServicesPackage Extension 1.0
  • ProjectServicesPackage Подробная информация о расширении Visual Studio
  • Тестовый адаптер для Boost.Test 1.0
  • Включает инструменты тестирования Visual Studio с модульными тестами, написанными для Boost.Test. Условия использования и уведомления третьих лиц доступны в каталоге установки расширения.
  • Visual C ++ для многоплатформенной мобильной разработки (Android) 16.0.30014.67
  • Visual C + + для мультиплатформенной мобильной разработки (Android)

Большое спасибо!

...