Я пытаюсь создать собственную библиотеку рендеринга OsmAnd, следуя этому руководству: Скомпилируйте собственную библиотеку рендеринга для OsmAndMapCreator.
Однако я получаю сообщение об ошибке на шаге №3 руководства при выполнении amd64-windows-vc12.cmd. Это полное сообщение:
Project "D:\Documents\02 Projekte\OsmAnd ORM\DevEnvironment\core-legacy\targets\amd64-windows-vc12.baked\CMakeFiles\3.29.3\VCTargetsPath.vcxproj" on node 1 (default targets).
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\Microsoft.Common.CurrentVersion.targets(839,5): error : The BaseOutputPath/OutputPath property is not set for project 'VCTargetsPath.vcxproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Debug' Platform='x64'. You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Platform that doesn't exist for this project. [D:\Documents\02 Projekte\OsmAnd ORM\DevEnvironment\core-legacy\targets\amd64-windows-vc12.baked\CMakeFiles\3.29.3\VCTargetsPath.vcxproj]
Поскольку vctargetspath.vcxproj автоматически создается в процессе сборки, реальная проблема должна быть обнаружена на шаг раньше.
Я не могу понять, почему конфигурация сборки не подходит. Это проблема настроек моей системы?
С -G "Visual Studio 17 2022" -A x64 я получаю: CMake Error at CMakeLists.txt:2 (project): Generator Visual Studio 17 2022 could not find any instance of Visual Studio.
Ах, это указало мне на правильную проблему. Смотрите мой ответ ниже (я отмечу его как решение, как только мне позволят). Спасибо!





Это действительно была проблема с версией Visual Studio, указанной в комментарии;
-G "Visual Studio 17 2022" -A x64
вернулся:
CMake Error at CMakeLists.txt:2 (project):
Generator Visual Studio 17 2022
could not find any instance of Visual Studio.
которую можно решить, добавив в Visual Studio «Разработку для настольных компьютеров с помощью C++», как описано в этом совете здесь: CMake: Visual Studio 15 2017 не удалось найти ни одного экземпляра Visual Studio.
На хосте для агента сборки можно использовать «Инструменты сборки для Visual Studio», которые по сути представляют собой Visual Studio без GUI IDE. В инструментах сборки используется тот же «Установщик Visual Studio», что и в других выпусках Visual Studio.
Установщик Visual Studio может создать файл .vsconfig — см. «Импорт или экспорт конфигураций установки». Установите рабочую нагрузку C++ и все другие необходимые компоненты, экспортируйте конфигурацию в файл .vsconfig, сохраните файл .vsconfig в каталоге, содержащем файл решения .sln, и передайте .vsconfig в систему контроля версий. На новом компьютере при открытии решения Visual Studio будет использовать файл .vsconfig, чтобы показать, что необходимо установить необходимые компоненты.
Благодарим вас за вклад в сообщество Stack Overflow. Можете ли вы отредактировать свой ответ, чтобы обобщить соответствующие рекомендации по ссылке? Ответы на вопрос «Переполнение стека», безусловно, могут ссылаться на дополнительную информацию, но они должны стоять отдельно, даже если страница, на которую они ссылаются, позже будет (удалена). Это важно, поскольку часто со временем связанные страницы перестают быть доступными, что расстраивает будущих членов сообщества.
Команда CMake использует
-G "Visual Studio 12 Win64", но Visual Studio 2022 — это Visual Studio 17, т. е. попробуйте использовать-G "Visual Studio 17 2022" -A x64.