[Перевод] Цвет настроения Linux, цвет настроения Mac OS

Стереотипы давно в прошлом. Сегодня Microsoft придерживается концепции «любой разработчик, любое приложение, любая платформа». Сегодня расскажем вам о vcpkg, едином диспетчере библиотек C++, который теперь стал доступен не только для Windows, но и для Linux и Mac OS. Заглядывайте под кат!

3nxyslg5td8eobzmqiin9xxxpsu.jpeg

Теперь можно мгновенно получить доступ к каталогу vcpkg с библиотеками С++ еще на двух платформах, выполнив для этого всего два простых действия, знакомых по Windows и UWP.

Подключаемый модуль vcpkg прошел долгий путь с момента своей первой презентации на конференции CppCon-2016. Вначале было всего 20 библиотек, но за последние 19 месяцев их число выросло невероятно — более чем до 900! Это неоценимая заслуга замечательных участников нашего сообщества.

Судя по вашим отзывам, именно поддержка систем Linux и Mac оказалась самой востребованной из потенциальных возможностей. И сегодня мы видим, что подключаемый модуль vcpkg стал доступен гораздо большему числу пользователей, упрощая кросс-платформенный доступ к еще большему количеству библиотек С++. Сегодня мы предлагаем вам оценить работу с vcpkg в ОС Windows, Linux или Mac OS.

Использование vcpkg в ОС Linux и Mac


Теперь подключаемый модуль vcpkg поддерживает совместимость с ОС Linux, Mac и другими системами POSIX. Это стало возможным только благодаря личному вкладу нескольких замечательных участников сообщества в разработку.

На момент написания этой публикации в блоге для Linux и Mac насчитывалось свыше 300 библиотек, и мы ожидаем, что скоро их станет гораздо больше. В настоящее время ведется тестирование vcpkg в ОС Ubuntu-LTS 16.04/18.04, мы успешно опробовали этот новый инструмент в Arch, Fedora и FreeBSD.

Начало работы


  1. Клонируйте репозиторий vcpkg: git clone https://github.com/Microsoft/vcpkg
  2. Запустите начальный загрузчик vcpkg: ./bootstrap-vcpkg.sh
  3. После установки vcpkg вы можете создать любую библиотеку, используя следующий синтаксис:
    vcpkg install sdl2

    Будет установлена sdl2:x64-linux (по умолчанию устанавливается стационарная 64-разрядная версия, пока единственная доступная для Linux).

    Результат (.h, .lib) сохраняется в то же дерево папок, и на эту папку следует ссылаться в конфигурации системы управления сборками.

  4. Работа с созданной библиотекой:
    • Если в качестве системы управления сборками применяется CMake, используйте CMAKE_TOOLCHAIN_FILE, чтобы открыть доступ к библиотекам для `find_package()`. Например: cmake .. "-DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake”.
    • Необходимо сделать ссылку на папку vcpkg, в которой содержатся заголовки (\vcpkg\installed\x64-linux\include), а также на папку .lib (\vcpkg\installed\x64-linux\lib), чтобы создать проект, используя сгенерированные библиотеки.


qvgzxlrakqbl05nl4cy6ce_45qo.png

qj09mtxils-dycodjdsad5sd8yo.png

Использование vcpkg для привязки к Linux из Windows посредством WSL


Поскольку WSL является Linux-системой, мы будем использовать ее аналогично Linux. Правильно выполнив настройку один раз, вы будете создавать библиотеки Linux на компьютере с ОС Windows точно так же, как если бы они генерировались в песочнице Linux. Следуйте инструкциям, используемым для установки в Linux. Ознакомьтесь с инструкциями по установке WSL в Windows 10 и настройке с помощью расширения Visual Studio для Linux.

peis1qb7go1y6coguy9turvo1gc.png

Как показано на снимке экрана выше, к каталогу vcpkg можно осуществлять доступ как из Windows, так и из WSL. В этом примере построение sdl2 и sqlite3 выполнялось в WSL (двоичные коды для Linux); sqlite3 также предназначена и для ОС Windows (Windows dll).

Заключение


Установите диспетчер пакетов vcpkg в ОС Linux или Mac, протестируйте его в своих кросс-платформенных проектах, поделитесь впечатлениями и расскажите, что еще мы можем улучшить.

Ваши отзывы и комментарии действительно очень важны для нас. Чтобы поделиться мнением или задать вопрос, создайте обращение на GitHub или отправьте нам сообщение на адрес электронной почты vcpkg @ microsoft.com. Мы также будем благодарны, если вы найдете пару минут для участия в нашем опросе.

Об авторе


elmbvij4bmenlk9nhl7eivm3q4y.jpegЭрик Митлетт — старший менеджер программ в команде VC++. Он владеет библиотеками (STL, VC Runtime CPPRestSDK FC / ATL и vcpkg). Участвовал в создании и презентации vcpkg 18 месяцев назад. Вначале 20 библиотек, теперь более чем 900. Кроме того, теперь они поддерживаются Linux и Mac. Если у вас есть вопросы, можете написать Эрику: ericmitt @ microsoft.com.

© Habrahabr.ru