Microsoft annonce un gestionnaire de bibliothèques C++ unique pour Linux, macOS et Windows :
Vcpkg est maintenant disponible sur tous les OS

Le , par Michael Guilloux, Chroniqueur Actualités
Lors de la conférence CppCon 2016, Microsoft a annoncé la disponibilité de Vcpkg (VC++ Packaging Tool) sur GitHub, un outil qui simplifie l'acquisition et la construction de bibliothèques C++ open source sous Windows. D'après le géant du logiciel, Vcpkg a été motivé par le fait que l'acquisition de bibliothèques natives sous Windows est un élément essentiel du processus de développement d'applications. Ses enquêtes avaient en effet montré que 80 % des projets C++ dépendaient de deux ou plusieurs bibliothèques. Malgré cela, la qualité du processus d'acquisition de bibliothèques natives était inférieure aux attentes des développeurs C++ par rapport aux autres plateformes telles que Mac (Homebrew) et Linux (apt-get, yum, etc.). C'est donc après avoir examiné les réussites sur toutes les plateformes que Microsoft a décidé de créer Vcpkg qui proposerait des bibliothèques C++ open source et propriétaires aux développeurs.

Le gestionnaire de packages en ligne de commande Vcpkg a parcouru un long chemin depuis son lancement. De seulement 20 bibliothèques, il a connu une croissance incroyable en 19 derniers mois avec maintenant plus de 900 bibliothèques et fonctionnalités disponibles, et ce, grâce aux contributions de la communauté.

Mais Microsoft a, ces dernières années, adopté une nouvelle vision qui consiste à prendre en charge tous les développeurs, tout type d'application et toutes les plateformes ; une vision qui motive l'entreprise à fournir ses outils de développement et services les plus productifs pour créer des applications sur toutes les plateformes. Dans cet esprit, Microsoft annonce maintenant la disponibilité de Vcpkg sur Linux et macOS. Cela donne donc un accès immédiat au catalogue de bibliothèques C++ de vcpkg sur deux nouvelles plateformes, avec les mêmes étapes que sur Windows et UWP.

Microsoft précise d’ailleurs que dans les commentaires fournis jusqu'à présent par la communauté, le support Linux et Mac était de loin la fonctionnalité la plus demandée. « Nous sommes donc ravis aujourd'hui de voir vcpkg atteindre une communauté encore plus large et faciliter l'accès multiplateforme à plus de bibliothèques C++. Nous vous invitons aujourd'hui à essayer vcpkg que vous cibliez Windows, Linux ou macOS », explique l'entreprise dans un billet de blog.

L'outil Vcpkg est maintenant compatible avec Linux, Mac et d'autres systèmes POSIX. Actuellement plus de 350 bibliothèques sont disponibles pour Linux et Mac et Microsoft s'attend à ce que ce nombre augmente rapidement. « Nous testons actuellement Ubuntu-LTS 16.04/18.04 et nous avons eu du succès sur Arch, Fedora, FreeBSD », souligne le géant du logiciel.


Ubuntu : répertorier les bibliothèques déjà installées avec la commande vcpkg list

Vous pouvez également utiliser Vcpkg pour cibler Linux à partir de Windows via WSL (Windows Subsystem for Linux). « Comme WSL est un système Linux, nous utiliserons WSL comme nous l'avons fait avec Linux. Une fois configuré correctement, vous pourrez produire des binaires Linux à partir de votre machine Windows comme s'ils avaient été générés depuis une machine Linux », explique Microsoft.

Si votre projet utilise des bibliothèques tierces, il est désormais recommandé d’utiliser Vcpkg pour les installer. Pour installer le gestionnaire de packages, vous devez cloner le dépôt vcpkg à partir de GitHub et exécuter le programme d’amorçage dans le dossier racine : bootstrap-vcpkg.bat.

Sources : Blog Visual C++, GitHub

Et vous ?

Que pensez-vous de cette annonce de Microsoft ?
Avez-vous déjà utilisé Vcpkg ? Comment le jugez-vous ?

Voir aussi :

Évolution de C++ : petite revue des fonctionnalités existantes du langage qui ont été supprimées de C++ 17, et celles qui ont été ajoutées
Clang est maintenant utilisé pour compiler Chrome pour Windows, Google abandonne donc Visual C++, et en voici les raisons
Fuchsia OS : C++ est-il plus avantageux que C pour le développement d'un microkernel ? Le choix de Google divise


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de kmedghaith kmedghaith - Membre averti https://www.developpez.com
le 25/04/2018 à 13:05
Je me demande en quoi c'est different de conan ?
Avatar de grunk grunk - Modérateur https://www.developpez.com
le 25/04/2018 à 14:05
J'ai l'impression que l'outil ne gère pas plusieurs version.
Si je veux installer boost par exemple , j'ai pas l'impression que j'ai le choix de la version. Quelqu'un peut confirmer ?

Si c'est le cas l'outil à du coup assez peut d'intérêt puisqu'on est obligé de travailler avec les dernières versions qu'impose vcpkg.
Avatar de Steinvikel Steinvikel - Membre actif https://www.developpez.com
le 25/04/2018 à 15:34
Citation Envoyé par grunk Voir le message
J'ai l'impression que ... si je veux installer boost par exemple , j'ai pas l'impression que j'ai le choix de la version. Quelqu'un peut confirmer ?
... obligé de travailler avec les dernières versions qu'impose vcpkg.
C'est plutôt con pour un environnement (WSL) et des outils (les bibliothèques) à destination des développeurs... ^^'

HS: qqn sais si avec WSL, Win10 gère nativement ext3/4 et btrfs (et d'autres encore) ?

Citation Envoyé par kmedghaith Voir le message
Je me demande en quoi c'est différent de conan ?
Qu'est-ce donc que Conan ?

Que pensez-vous de cette annonce de Microsoft ?
Que c'est un pas de plus vers une transformation de Windows en GNU/Linux, je sais pas combien de temps ça va prendre, mais on s'en rapproche toujours un peu plus.
...d'abord par la viralité des licences GPL qui force une "ouverture" (open-source/libre) du code Microsoft, puis l'adoption d'une approche communautaire, puis l'ajout de parties de Linux... qd ce sera pleinement intégré et mature, la partie Win10 sera le mode "retro-compatibilité". x)
La synthèse est très obtus, mais l'idée est là.
Avatar de RapotOR RapotOR - Membre éclairé https://www.developpez.com
le 25/04/2018 à 15:48
Citation Envoyé par grunk
J'ai l'impression que l'outil ne gère pas plusieurs version.
Si je veux installer boost par exemple , j'ai pas l'impression que j'ai le choix de la version. Quelqu'un peut confirmer ?
J'ai la meme impression. Les packages proviennent du dossier PORTS. Et dans les quelques packages que j'ai pu parcourir, je vois a chaque fois une seule reference de version.
Vu qu'il y a souvent des incompatibilités entre versions de différents packages, cela risque d’être difficile a gérer. On est pas encore au niveau de composer de PHP ou npm de JS!
Avatar de grunk grunk - Modérateur https://www.developpez.com
le 25/04/2018 à 16:29
Citation Envoyé par Steinvikel Voir le message
Qu'est-ce donc que Conan ?
conan.io c'est également un package manager pour C++ qui , pour le moment, semble plus aboutit que vcpkg , mais également plus complexe.
Il existe également buckaroo dans le même genre.

Citation Envoyé par RapotOR Voir le message
On est pas encore au niveau de composer de PHP ou npm de JS!
Et on y arrivera jamais à mon avis. Les dépendance c'est tellement complexe en C++ que jusqu'à maintenant dans l'équipe ou je bosse on à toujours préféré tout compiler à la mano pour être sur de ce qui se passe (x86 ou 64, version de compilo, static ou pas ,release , debug , /mt,/md, dependance inter lib , etc ...)
Contacter le responsable de la rubrique Accueil