Поделиться через


Тройни

Triplet — это стандартный термин, используемый в перекрестном компиляции в качестве способа полного захвата целевой среды (ЦП, ОС, компилятора, среды выполнения и т. д.) в одном удобном имени.

В vcpkg триплеты описывают мнимый "целевой набор конфигурации" для каждой библиотеки. В триплете библиотеки обычно создаются с той же конфигурацией, но это не обязательно. Например, можно использовать один тройной набор, который выполняет openssl сборку статически и zlib динамически, то, что создает их как статически, так и тот, который создает их как динамически (все для одной целевой ОС и архитектуры).

Одна сборка будет использовать файлы с до двух тройных значений: целевой триплет и триплет узла. Если вам нужно применить различные параметры для разных библиотек, необходимо сделать один пользовательский триплет с помощью этого сочетания параметров. Сведения о том, как это сделать, см . в разделе о настройке для каждого порта.

vcpkg поставляется с предварительно определенными триплетами для многих распространенных платформ и конфигураций. Запустите vcpkg help triplet , чтобы получить список доступных в вашей среде.

Выбор триплета

Чтобы выбрать целевой триплет, выполните приведенные далее действия.

Чтобы выбрать триплет узла для текущего компьютера, выполните следующие действия.

Триплеты сообщества

Триплеты, содержащиеся в triplets\community папке, не проверяются непрерывной интеграцией курированного реестра, но обычно запрашиваются сообществом. Так как у нас нет непрерывного покрытия, обновления портов могут нарушить совместимость с сообществом тройными. Мы рады принять и пересмотреть вклады, которые стремятся решить проблемы с этими тройными.

При использовании триплета сообщества во время установки пакета будет напечатано сообщение, например следующее:

-- Using community triplet x86-uwp. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: D:\src\vcpkg\triplets\community\x86-uwp.cmake

Добавление или замена триплетов

Вы можете расширить vcpkg, заменив встроенные триплеты или создав новые триплеты для конкретного проекта.

Сначала скопируйте встроенный тройной файл из triplets\ каталога в другое расположение файловой системы. Затем добавьте этот каталог в список тройных путей наложения при взаимодействии с vcpkg.

См. пример с наложениями для более подробного пошагового руководства.

Замечания

Триплет по умолчанию при выполнении любой команды vcpkg или %VCPKG_DEFAULT_TRIPLET% выбор платформы, если эта переменная среды не определена.

  • Windows: x64-windows
  • Linux: x64-linux
  • OSX: x64-osx

Мы рекомендуем использовать схему систематического именования при создании новых триплетов. Схема именования цепочки инструментов Android — хороший источник вдохновения: https://developer.android.com/ndk/guides/standalone_toolchain.html