Стереотипы давно в прошлом. Сегодня Microsoft придерживается концепции «любой разработчик, любое приложение, любая платформа». Сегодня расскажем вам о vcpkg, кроссплатформенном менеджере пакетов, предназначенном для быстрой установки C/C++ библиотек, который теперь стал доступен не только для Windows, но и для Linux и Mac OS. Заглядывайте под кат!
![](https://habrastorage.org/r/w780q1/webt/3n/xy/sl/3nxyslg5td8eobzmqiin9xxxpsu.jpeg)
Теперь можно мгновенно получить доступ к каталогу vcpkg с библиотеками С++ еще на двух платформах, выполнив для этого всего два простых действия, знакомых по Windows и UWP.
Подключаемый модуль vcpkg прошел долгий путь с момента своей первой презентации на конференции CppCon-2016. Вначале было всего 20 библиотек, но за последние 19 месяцев их число выросло невероятно — более чем до 900! Это неоценимая заслуга замечательных участников нашего сообщества.
Судя по вашим отзывам, именно поддержка систем Linux и Mac оказалась самой востребованной из потенциальных возможностей. И сегодня мы видим, что подключаемый модуль vcpkg стал доступен гораздо большему числу пользователей, упрощая кросс-платформенный доступ к еще большему количеству библиотек С++. Сегодня мы предлагаем вам оценить работу с vcpkg в ОС Windows, Linux или Mac OS.
Теперь подключаемый модуль vcpkg поддерживает совместимость с ОС Linux, Mac и другими системами POSIX. Это стало возможным только благодаря личному вкладу нескольких замечательных участников сообщества в разработку.
На момент написания этой публикации в блоге для Linux и Mac насчитывалось свыше 300 библиотек, и мы ожидаем, что скоро их станет гораздо больше. В настоящее время ведется тестирование vcpkg в ОС Ubuntu-LTS 16.04/18.04, мы успешно опробовали этот новый инструмент в Arch, Fedora и FreeBSD.
![](https://habrastorage.org/r/w1560/webt/qv/gz/xl/qvgzxlrakqbl05nl4cy6ce_45qo.png)
![](https://habrastorage.org/r/w1560/webt/qj/09/mt/qj09mtxils-dycodjdsad5sd8yo.png)
Поскольку WSL является Linux-системой, мы будем использовать ее аналогично Linux. Правильно выполнив настройку один раз, вы будете создавать библиотеки Linux на компьютере с ОС Windows точно так же, как если бы они генерировались в песочнице Linux. Следуйте инструкциям, используемым для установки в Linux. Ознакомьтесь с инструкциями по установке WSL в Windows 10 и настройке с помощью расширения Visual Studio для Linux.
![](https://habrastorage.org/r/w1560/webt/pe/is/1q/peis1qb7go1y6coguy9turvo1gc.png)
Как показано на снимке экрана выше, к каталогу 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.
![](https://habrastorage.org/webt/3n/xy/sl/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.
Начало работы
- Клонируйте репозиторий 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, используйте
![](https://habrastorage.org/webt/qv/gz/xl/qvgzxlrakqbl05nl4cy6ce_45qo.png)
![](https://habrastorage.org/webt/qj/09/mt/qj09mtxils-dycodjdsad5sd8yo.png)
Использование vcpkg для привязки к Linux из Windows посредством WSL
Поскольку WSL является Linux-системой, мы будем использовать ее аналогично Linux. Правильно выполнив настройку один раз, вы будете создавать библиотеки Linux на компьютере с ОС Windows точно так же, как если бы они генерировались в песочнице Linux. Следуйте инструкциям, используемым для установки в Linux. Ознакомьтесь с инструкциями по установке WSL в Windows 10 и настройке с помощью расширения Visual Studio для Linux.
![](https://habrastorage.org/webt/pe/is/1q/peis1qb7go1y6coguy9turvo1gc.png)
Как показано на снимке экрана выше, к каталогу vcpkg можно осуществлять доступ как из Windows, так и из WSL. В этом примере построение sdl2 и sqlite3 выполнялось в WSL (двоичные коды для Linux); sqlite3 также предназначена и для ОС Windows (Windows dll).
Заключение
Установите диспетчер пакетов vcpkg в ОС Linux или Mac, протестируйте его в своих кросс-платформенных проектах, поделитесь впечатлениями и расскажите, что еще мы можем улучшить.
Ваши отзывы и комментарии действительно очень важны для нас. Чтобы поделиться мнением или задать вопрос, создайте обращение на GitHub или отправьте нам сообщение на адрес электронной почты vcpkg @ microsoft.com. Мы также будем благодарны, если вы найдете пару минут для участия в нашем опросе.
Об авторе
![](https://habrastorage.org/webt/el/mb/vi/elmbvij4bmenlk9nhl7eivm3q4y.jpeg)