Nein, es gibt sicherlich keinen offiziellen Paketmanager für C / C ++, aber ich werde Ihnen ein paar Vorschläge geben, um Ihre Tage hoffentlich besser zu machen.
Zunächst würde ich vorschlagen, CMake oder GENie zu untersuchen auf Möglichkeiten zu untersuchen, Bibliotheken auf erweiterbare und plattformübergreifende Weise in Ihr Build-System zu integrieren. Beide gehen jedoch davon aus, dass Sie Bibliotheken haben, die sich an einem "leicht zu findenden" Ort befinden, oder dass sie dasselbe Build-System wie Ihr Projekt haben. Es gibt Möglichkeiten, beiden beizubringen, wie Sie die benötigten Bibliotheken finden. Alle anderen Lösungen sind plattformspezifisch.
Wenn Sie Node.js oder Haxe in Ihrem Projekt haben, haben sowohl npm als auch haxelib Möglichkeiten, C ++ (in einer vorkompilierten DLL / so-Form) aus JavaScript bzw. Haxe zu verwenden, aber das ist eine große und wahrscheinlich falsche Annahme dass Sie Node.js oder Haxe in einem Projekt verwenden würden, das wirklich die Vorteile benötigt, die C / C ++ bieten kann.
Für die Microsoft-Welt glaube ich, dass NuGet einige C ++ - Bibliotheken hat , obwohl es in seiner Plattformunterstützung auf Visual Studio und wahrscheinlich Windows beschränkt ist, aber es passt wahrscheinlich am besten zu dem, was Sie unter "Paketsystem" verstehen, wenn Sie Ihre Beispiele verwenden (vorausgesetzt, Sie haben es gemeint dass cpm ein C Package Manager war, so wie npm Node Package Manager ist).
In der Linux-Welt fungieren rpm, yum und apt-get technisch genauso wie C / C ++ - Entwicklungspaketmanager wie Systempaketmanager. Im Gegensatz zu npm müssen Sie Pakete jedoch immer global installieren. Wenn es sich um eine Linux-App handelt, die sich wahrscheinlich in einem Paket auf einem oder mehreren dieser Manager befindet und in Paketen eine Abhängigkeitsliste eingebettet ist, ist dies kein großes Problem.
Für die MacOS / iOS-Welt gibt es CocoaPods, aber wie bei NuGet sind Sie an die Apple-Plattform gebunden. Es gibt immer MacPorts , wenn Sie mit dem Paketmanager im Linux-Stil als Entwickler-Paketmanager zufrieden sind, wie im vorherigen Absatz beschrieben.
Ich möchte diese npm, lokale Installation, eine Art plattformübergreifende Funktionalität, aber da C / C ++ auf so vielen Plattformen verwendet wird (alle?) Und C / C ++ - Programmierer wie ich dazu neigen, ihre eigenen zu rollen. .. alles, was uns alle (unnötig?) beschäftigt, gab es nicht viel Druck, ein solches Projekt zu machen, was eine Schande ist. Vielleicht solltest du eins machen? Es würde sicherlich meine Tage besser machen.
AKTUALISIEREN
Conan ist der C / C ++ - Paketmanager, den wir uns alle gewünscht haben. Es verfügt sowohl über lokale als auch über globale Server und eignet sich daher sowohl für Business- als auch für Open Source-Pakete. Es ist jung und sein globales Repository enthält nicht sehr viele Pakete. Wir sollten alle daran arbeiten, Pakete hinzuzufügen!
UPDATE 2
Ich habe festgestellt, dass vcpkg für Windows und Android sehr nützlich war. Wenn Sie nicht darüber hinwegkommen können, dass Conan.io in Python geschrieben ist, ist es möglicherweise einen Blick wert.
Obwohl es vorschreibt, dass Sie es für sich selbst und alle Ihre Abhängigkeiten verwenden, glaube ich, dass Build 2 in ein paar Jahren der ultimative Gewinner sein sollte, aber zum Zeitpunkt des Schreibens steht es noch bevor.
iostream
Ist der Standard-Bibliotheksheader, muss er vorhanden sein, wenn Sie den C ++ - Compiler installiert haben. Wenn Sie es vermissen, stimmt etwas mit Ihrem Setup nicht.