A C/C++ package manager


All told, the vcpkg package manager gives programmers a lean solution for compiling source code on different platforms in combination with CMake. It saves the time of installing the appropriate versions of the required libraries because vcpkg builds the libraries locally.

To be fair, though, vcpkg's initial overhead is quite high. While installing an RPM or DEB of a very large library such as OpenCascade takes just one or two minutes, compiling takes about half an hour. However, once the dependencies have been compiled for the first time, this time difference disappears, and the ultimate reward is a platform-independent build system.

Vcpkg is not just available locally: Pratik Chougule has provided a project setup [9] for compiling on Jenkins [10]. With GitHub Actions, vcpkg can also be used for building on GitHub. Even if you occasionally have to use a commercial library, you can still benefit from vcpkg. In the Microsoft Developer Blogs, Augustin Popa [11] explains how commercial libraries can be integrated into the setup with vcpkg. Taking a look at vcpkg is worth the time of any C/C++ developer.

The Author

Paul Büchner enjoys software development and focuses on web and CAD software.

Carsten Zerbst creates software for engineers ranging from simple converters to business-critical integration solutions. He is looking for reinforcements to his team in Hamburg for a variety of activities with Java, C#, or C++ and offers topics for bachelor's and master's theses.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Qmake for Qt

    Qt’s own build system Qmake is often overlooked for larger projects, but many experienced developers appreciate Qmake support for shadow builds and pre- or post-build dependencies.

  • TensorFlow AI on the Pi

    You don't need a powerful computer system to use AI. We show what it takes to benefit from AI on the Raspberry Pi and what tasks the small computer can handle.

  • QJournalctl

    QJournalctl is a convenient GUI tool that will help you track down log data in the systemd journal.

  • Self-Built PPAs

    Is the current package for your favorite Ubuntu program woefully behind the times? No problem: Just a few steps creates an updated Debian package that you can then share with others in a PPA.

  • Drawing Trees

    Mind maps help you organize your thoughts and ideas in a clear-cut tree structure. Heimer can help you draw those trees.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More