Я пытаюсь создать исходные файлы OpenCV и создать проект Visual Studio с помощью CMake. Я столкнулся с проблемой, которая кажется не решенной ни с помощью этих следующих рекомендаций: здесь - выберите правильную версию Visual Studio (например, v16 2019) при сборке с помощью CMake, установите MSBuild.exe
и добавьте его местоположение в системный PATH -, здесь - установить Windows SDK - и здесь - установить необходимую рабочую нагрузку в Visual Studio относительно CMake / C ++ и перезагрузить его.
Затем я прошу вашей помощи. В настоящее время я работаю с:
- ОС: Windows 8.1 Pro 64 бит
- CMake (GUI) Версия 3.17.2, расположенная по адресу
C:\Program Files\CMake\bin
- Microsoft Visual Studio 2019 версии 16.6.0
- MSBuild. exe версии 16.6.0, расположенный по адресу
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
- OpenCV 4.3.0, расположенный по адресу
D:\opencv
; sdksetup.exe
версия 8.100, расположенный по адресу C:\Program Files (x86)\Microsoft SDKs\Windows Kits\8.1\StandaloneSDK
- Мой путь в переменных среды моей системы:
%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)
Большое спасибо!