C++ Package-Manager

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Specialist
Establishment
Beiträge: 135
Registriert: 29.08.2003, 14:22
Kontaktdaten:

C++ Package-Manager

Beitrag von Specialist »

Hi zusammen,

da ich beruflich in der Webwelt unterwegs bin, wo Paketmanager wie composer und npm mittlerweile normal sind, würde ich mal gerne wissen ob von euch schon jemand Erfahrung mit C++-Paketmanagern gesammelt hat?
Google sagt Conan wäre wohl recht bekannt. Dann gibt es wohl noch vcpkg.
Lohnt es sich da mal näher reinzuschauen oder geht man immer noch den altbekannten Weg über manuellen Download von statischen libs oder Code?
Wie siehts mit der Integration in VisualStudio aus?

Grüße, Mathias
Benutzeravatar
Krishty
Establishment
Beiträge: 8245
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: C++ Package-Manager

Beitrag von Krishty »

Falls du Integration in VS haben willst, ist vcpkg das Tool der Wahl. Das pusht MS gerade, wo es nur geht.

Ansonsten unterstützt CMake das automatische Herunterladen von Abhängigkeiten aus Online-Repos.

Erfahrungen habe ich mit beiden nicht gesammelt außer „mal in einem Projekt gesehen“.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Schrompf
Moderator
Beiträge: 4858
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: C++ Package-Manager

Beitrag von Schrompf »

Auf Arbeit benutzen wir Conan. Das wird aus CMake heraus ausgelöst und produziert dann einen Strauß Paths für CMake find_package-Gruppe. VisualStudio macht das dann genauso mit wie CLion, Emacs, Vim und was hier sonst noch so in Verwendung ist. Das Repository von Conan hosten wir selbst, die CI produziert und lädt da auch eigene Pakete hoch. Ich würde mich nicht wohlfühlen, wenn ich ohne Internet nicht bauen könnte, aber in anderen Programmiersprachen ist das ja üblich, sich komplett auf irgendne Firma im weiten Internet zu verlassen.

Zu Hause pflege ich meine Dependencies selbst. Ich vertraue denen nicht, und ich mag einen autarken Build.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4260
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: C++ Package-Manager

Beitrag von Chromanoid »

aber in anderen Programmiersprachen ist das ja üblich, sich komplett auf irgendne Firma im weiten Internet zu verlassen.
Ich würde behaupten allein aus sicherheitstechnischen Gründen macht es häufig Sinn, einen Mirror / Proxy zu pflegen.

Hat man bei Conan nicht einen lokalen Cache? D.h. Du willst Deinen Cache im Grunde mit im Repository pflegen, damit in 10 Jahren das Projekt noch baut, obwohl Du eigentlich Deinen Paketmanager aktualisieren müsstest damit alles wieder baut? Finde ich für Hobby-Projekte irgendwie nachvollziehbar. Ich frage mich, ob man da vielleicht sogar am besten mit einem "Dev Container" fahren würde, den man dann archiviert. Dann ist man nur davon abhängig, dass das Ding noch läuft. Ich frage mich nur wie gut das für Spieleentwicklung passt. Da hat man es ja meistens mit größeren SDKs usw. zu tun.
Specialist
Establishment
Beiträge: 135
Registriert: 29.08.2003, 14:22
Kontaktdaten:

Re: C++ Package-Manager

Beitrag von Specialist »

Danke für eure Antworten. Ich werde beide Paketmanager mal ausprobieren und berichten.
Benutzeravatar
Thoran
Establishment
Beiträge: 224
Registriert: 15.05.2009, 12:51
Wohnort: Stuttgart
Kontaktdaten:

Re: C++ Package-Manager

Beitrag von Thoran »

Wir verwenden auch Conan mit einem Artifactory Repo. Funktioniert ganz gut. Muss mich allerdings auch nicht um die Packages kümmern, sondern verwende sie nur.
Wer Rechtschreibfehler findet, darf diese gerne behalten.
Mein Entwicklertagebuch
Aktuelle Projekte: Universum: Domination (ehemalig AlphaOmega),Universum: Sternenjäger, PixelWars: Highscore-based Top-Down-Spaceshooter
Spieleengine Unreal 5
Benutzeravatar
Jonathan
Establishment
Beiträge: 2371
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: C++ Package-Manager

Beitrag von Jonathan »

Hmmm, ich hab mal nachgeschaut und VCPKG hat tatsächlich den Großteil meiner Abhängigkeiten schon dabei. Nur ein paar exotische kleine Libs von github fehlen da. Ehrlich gesagt ist das wesentlich besser als erwartet, ich dachte das sei auch nur wieder einer von 5 konkurrierenden Standards die zwar coole Ideen haben aber allesamt zu klein und unverbreitet sind um Sinn zu machen.

Vielleicht würde es sich echt lohnen das mal auszuprobieren, aber momentan kann ich mein Projekt ohne Probleme kompillieren und eigentlich will ich kein Wochenende darauf verschwenden das kaputt und anschließend wieder heil zu machen. Aber vielleicht wenn ich es das nächste mal auf einem neuen Rechner kompilieren muss...
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten