Xbox
Примечание
Xbox не тестируется в рамках процесса непрерывной интеграции репозитория vcpkg, поэтому регрессии могут возникать в рамках обновлений библиотеки.
vcpkg включает в себя триплеты сообщества для разработки компьютеров Microsoft GDK и Xbox. Они используют набор инструментов компилятора MSVC (Visual Studio 2019 версии 16.11 или более поздней).
Существует два варианта для каждого триплета: статическое и динамическое связывание.
Консоль | Vcpkg community triplets |
---|---|
Xbox One | x64-xbox-xboxone |
x64-xbox-xboxone-static | |
Серия Xbox X|S | x64-xbox-scarlett |
x64-xbox-scarlett-static |
При static
связывании триплеты используют среду выполнения MSVC в качестве библиотеки DLL (т. е. VCPKG_CRT_LINKAGE dynamic
), так как это рекомендуемый и поддерживаемый сценарий использования.
Пакет SDK для Windows (19041) или более поздней версии включает системные заголовки, необходимые для сборки для WINAPI_FAMILY_GAMES
секции API, используемой операционной системой Xbox Game. Таким образом, большинство библиотек можно создавать для этих тройных элементов без доступа к NDA Microsoft GDK с расширениями Xbox.
Библиотеки, использующие API графики DirectX, должны быть созданы с помощью пользовательского варианта Direct3D 12.X, используемого операционной системой Xbox Game, и для этого требуется доступ к NDA Microsoft GDK с расширениями Xbox. Обратите внимание, что ОС Игры Xbox не поддерживает Direct3D 11, Direct2D/DirectWrite, OpenGL, GDI или любую старую версию Direct3D.
Библиотеки, требующие этих заголовков, должны использовать ms-gdkx
порт заглушки, чтобы указать это требование. Этот порт ищет пути, на которые указываются GameDKLatest
GameGXDKLatest
переменные среды, и GameGRDKLatest
переменные среды.
Примечание
Разработчики игр Xbox отвечают за то, чтобы они и их издатели имели соответствующие и правильные условия лицензирования для использования любых сторонних компонентов программного обеспечения в соответствии с условиями лицензионного соглашения о названии. Обязательно обратитесь за соответствующей юридической консультацией для любого использования компонентов с открытым исходным кодом в названии.
Если вы создаете UWP на Xbox, используйте вместо этого существующий x64-uwp
триплет.
Проекты CMake для этих тройных наборов создаются с помощью CMAKE_SYSTEM_NAME
параметра "Windows". Чтобы указать целевую консоль Xbox, XBOX_CONSOLE_TARGET
переменная имеет значение "xboxone
" или "scarlett
".
Сборка Xbox тройная с /DWINAPI_FAMILY=WINAPI_FAMILY_GAMES
помощью или /arch:AVX2
/arch:AVX
в зависимости от целевой консоли.
Триплеты Xbox также создаются вместе с /DUNICODE /D_UNICODE
тем, как это настоятельно рекомендуется для современной разработки. Дополнительные сведения см. в манифесте UTF-8 По всему миру.
Для динамических библиотек не забудьте избежать эксликтов связывания с KERNEL32.LIB
или ONECORE.LIB
. Для платформы Xbox используется библиотека зонтиков платформы, которая конфликтует с kernel32
и т. д. См. статью Microsoft Learn.
Дополнительные сведения см. в этой записи блога.
См. также пример CMakeExample на GitHub.
Отзыв о vcpkg
vcpkg — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: