[Перевод] Цвет настроения Linux, цвет настроения Mac OS
Стереотипы давно в прошлом. Сегодня Microsoft придерживается концепции «любой разработчик, любое приложение, любая платформа». Сегодня расскажем вам о vcpkg, едином диспетчере библиотек C++, который теперь стал доступен не только для Windows, но и для Linux и Mac OS. Заглядывайте под кат!
Теперь можно мгновенно получить доступ к каталогу 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.
Начало работы
- Клонируйте репозиторий vcpkg:
git clone https://github.com/Microsoft/vcpkg
- Запустите начальный загрузчик vcpkg:
./bootstrap-vcpkg.sh
- После установки vcpkg вы можете создать любую библиотеку, используя следующий синтаксис:
vcpkg install sdl2
Будет установлена
sdl2:x64-linux
(по умолчанию устанавливается стационарная 64-разрядная версия, пока единственная доступная для Linux).Результат (.h, .lib) сохраняется в то же дерево папок, и на эту папку следует ссылаться в конфигурации системы управления сборками.
- Работа с созданной библиотекой:
- Если в качестве системы управления сборками применяется 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), чтобы создать проект, используя сгенерированные библиотеки.
- Если в качестве системы управления сборками применяется CMake, используйте
Использование vcpkg для привязки к Linux из Windows посредством WSL
Поскольку WSL является Linux-системой, мы будем использовать ее аналогично Linux. Правильно выполнив настройку один раз, вы будете создавать библиотеки Linux на компьютере с ОС Windows точно так же, как если бы они генерировались в песочнице Linux. Следуйте инструкциям, используемым для установки в Linux. Ознакомьтесь с инструкциями по установке WSL в Windows 10 и настройке с помощью расширения Visual Studio для Linux.
Как показано на снимке экрана выше, к каталогу vcpkg можно осуществлять доступ как из Windows, так и из WSL. В этом примере построение sdl2 и sqlite3 выполнялось в WSL (двоичные коды для Linux); sqlite3 также предназначена и для ОС Windows (Windows dll).
Заключение
Установите диспетчер пакетов vcpkg в ОС Linux или Mac, протестируйте его в своих кросс-платформенных проектах, поделитесь впечатлениями и расскажите, что еще мы можем улучшить.
Ваши отзывы и комментарии действительно очень важны для нас. Чтобы поделиться мнением или задать вопрос, создайте обращение на GitHub или отправьте нам сообщение на адрес электронной почты vcpkg @ microsoft.com. Мы также будем благодарны, если вы найдете пару минут для участия в нашем опросе.
Об авторе
Эрик Митлетт — старший менеджер программ в команде VC++. Он владеет библиотеками (STL, VC Runtime CPPRestSDK FC / ATL и vcpkg). Участвовал в создании и презентации vcpkg 18 месяцев назад. Вначале 20 библиотек, теперь более чем 900. Кроме того, теперь они поддерживаются Linux и Mac. Если у вас есть вопросы, можете написать Эрику: ericmitt @ microsoft.com.