Vcpkg

Ещё одна короткая статья о маленьком счастье программиста. Любой C++ разработчик под Windows может рассказать, какой головной болью оборачивается установка и настройка Boost. Это настолько ужасный процесс, что некоторые разработчики зачастую собирали некую версию и сидели на ней, пока не произойдёт что-то колоссальное.

Сейчас всё изменилось с появлением новой (относительно) утилиты от Microsoft под названием Vcpkg (Visual C++ Packaging tool). Это маленькое консольное приложение которое значительно упрощает работу с open-source библиотеками для ваших проектов в Visual Studio и CMake.

Также вам не стоит беспокоиться по поводу ABI-совместимости или чрезмерного размера: vcpkg скачивает исходные коды библиотек и собирает их средствами сборки, представленными на компьютере. And you don’t have to worry about binary compatibility or extreme size: vcpkg downloads source files and builds it with tools you’ve got on your computer. Также следует отметить значительное количество доступных библиотек.

Пару месяцев назад я хотел упростить консольный интерфейс (и его обработку) в одном из моих приложений. Я отправился на поиски библиотеки и это был ужасный опыт. Теперь представьте этот процесс пару лет назад: вы скачивали исходники библиотеки, заставляли их компилироваться на протяжении пары часов, а потом пытались приспособиться к их использованию в своей программе. В большинстве случае оказывалось, что это не те дроиды, которых вы искали.

Теперь же, с vcpkg всё значительно упростилось. Всё, что нужно сделать, это пробежать глазами список доступных библиотек и протестировать в своём приложении. Получение библиотеки является делом одной простой консольной (cmd или PowerShell, что больше нравится) команды:

vcpkg install tinyxml2 tinyxml2:x64-windows

И всё, можно работать. Теперь открываете свой проект в Visual Studio project, пишете #include и всё настроено. У меня не хватает слов чтобы выразить, как это круто.

Я начал эту статью с разговора о Boost. С ним всё то же самое. Нет больше кошмарных bjam и b2 (они скрыты от пользователя), ада с переменными окружения и так далее. Сейчас очень хорошее время для того, чтобы быть C++ разработчиком.


© 2022. All rights reserved.

Powered by Hydejack v9.1.6