Paketmanager für C++
Komplexe Software erfordert viele Abhängigkeiten in ihren Systemen. Compilersprachen wie Python haben pip
, um ihre Pakete zu verwalten, aber wir hören selten Paketmanager für C/C++.
In diesem Artikel wird beschrieben, wie Paketmanager für C++ installiert und implementiert werden.
VC-Paket (vcpkg
) - Ein Paketmanager für C++
Die Abhängigkeiten variieren von Bibliothekspaketen bis hin zu Bibliotheken von Drittanbietern, die in einer virtuellen Umgebung gehalten werden müssen, damit ein Softwaresystem funktioniert.
Der erste Paketmanager dieses Artikels für C++ ist vcpkg
.
In diesem Abschnitt wird die Installation und Verwendung des VC-Paketmanager-Bibliotheksmanagers unter Windows Visual Studio 2017 erläutert. Das VC-Paket war ursprünglich ein Paketmanager nur für Visual Studio unter Windows.
Heute ist das VC-Paket plattformübergreifend und funktioniert auf Betriebssystemen wie Linux und Mac.
Um diesen Paketmanager auszuführen, sind drei Dinge erforderlich:
- Visuelles Studio
- Git
- Power Shell
Laden Sie Visual Studio 2017 oder höher herunter und installieren Sie es. Bei der Installation ist zu beachten, dass die Installation Desktop Development with C++
beinhaltet und angehakt werden muss.
Visual Studio ist eine integrierte Entwicklungsumgebung (IDE), aus der Pakete in Codes geladen werden. Es gibt kein zentrales Repository für C++-Bibliotheken, daher sind die meisten online verstreut.
Nachdem IDE installiert ist, muss Git im System installiert werden. Es ist die Software, die bei der Verteilung zahlreicher Pakete verwendet wird, die auf GitHub verfügbar sind.
Git kann von hier heruntergeladen werden.
Installieren Sie Git
Stellen Sie auf der ersten Einrichtungsseite sicher, dass beide Kontrollkästchen für die Windows Explorer-Integration aktiviert sind. Dadurch kann Git aus jedem Verzeichnis im Windows Explorer ausgeführt werden.
Es ist von Vorteil, nach der ersten Seite mit allen empfohlenen Optionen aus dem Git-Installationsprogramm zu gehen. Nach der Installation werden jedes Mal, wenn mit der rechten Maustaste geklickt wird, Optionen zum Laden von Git Bash im Dialogfeld angezeigt.
Installieren Sie PowerShell
PowerShell ist ein Befehlszeilen-Framework zum Konfigurieren von Systemen. Es wird benötigt, um das VC-Paket nach dem Klonen zu erstellen.
PowerShell kann von hier heruntergeladen werden. Es wird empfohlen, das Paket Msi
herunterzuladen, da es sich um ein automatisches Installationsprogramm handelt.
Installieren Sie das VC-Paket
Es gibt zwei Möglichkeiten, wie dies ausgeführt werden kann:
- Klonen Sie das Git-Repository
Wenn ein Git-Repository geklont wird, erstellt es ein Verzeichnis innerhalb des lokalen Systems, das dem innerhalb des Repositorys ähnelt, jedoch nur mit wesentlichen Paketen. Das Paket wird dann mithilfe von PowerShell im System erstellt.
Um das Repository vcpkg
zu klonen, kopieren Sie den HTTPS-Link aus dem GitHub-Web Seite.
Erstellen Sie nach dem Kopieren des Links einen Ordner dev
oder src
im Laufwerk C
und klonen Sie das Verzeichnis, indem Sie innerhalb des Verzeichnisses mit der rechten Maustaste klicken und auf PowerShell 7 > Hier als Administrator öffnen
klicken.
In diesem Verzeichnis wird eine PowerShell-Eingabeaufforderung geöffnet. Schreiben Sie darin den folgenden Befehl:
git clone https://github.com/microsoft/vcpkg.git
Der obige Befehl klont das VC-Paket im Ordner dev
, den wir im Laufwerk C
erstellt haben. Nachdem das Klonen abgeschlossen ist, gelangen Sie in das geklonte Verzeichnis, indem Sie Folgendes eingeben:
cd cvpkg
C:\dev
.- Extrahieren Sie ein Archiv
Diese Methode erfordert das Herunterladen eines Archivs von der GitHub-Webseite und das manuelle Extrahieren des Inhalts in den Ordner dev
auf dem Laufwerk C
. Gehen Sie nach dem Extrahieren des Archivs in das Verzeichnis, klicken Sie mit der rechten Maustaste und öffnen Sie PowerShell als Administrator.
Unabhängig davon, welche der beiden oben genannten Methoden befolgt wird, sind die befolgten Schritte nach dem Erstellen des Verzeichnisses dieselben.
Innerhalb des Verzeichnisses muss das System das Paket erstellen. Dies erfolgt durch Bootstrapping des Builders mithilfe von PowerShell.
.\bootstrap-vcpkg.bat
Der folgende Befehl macht alle Bibliotheken aus dem VC-Paket für Visual Studio verfügbar:
.\vcpkg integrate install
An diesem Punkt wird das VC-Paket auf dem Computer installiert.
Wenn nun eine bestimmte Bibliothek erforderlich ist, wie sql3, kann sie überprüft werden mit:
.\vcpkg search sqlite3
Wenn das gesuchte Paket verfügbar ist, wird es auf dem Bildschirm angezeigt.
Um das Paket zu installieren, geben Sie den Befehl ein:
.\vcpkg install sqlite3
Standardmäßig installiert VC Package die 32-Bit-Version der Bibliothek. Um die 64-Bit-Version zu installieren, verwenden Sie diesen Befehl:
.\vcpkg install sqlite3:x64-windows
Verwenden Sie die installierte Bibliothek von Visual Studio
Erstellen Sie zunächst ein leeres C++-Projekt und aktivieren Sie die Option des Konsolensubsystems.
Um das Konsolensubsystem zu aktivieren, klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und klicken Sie auf Eigenschaften. Gehen Sie in den Eigenschaften auf der linken Seite zu linker > system
.
Das Subsystem ist dort als erste Option zu finden.
Jetzt kann das VC-Paket verwendet werden, um Bibliotheken zu laden und sie in Visual Studio zu verwenden. Lassen Sie uns ein SQL-Programm in C++ schreiben, um zu überprüfen, ob das importierte Paket ordnungsgemäß funktioniert.
#include <sqlite3.h>
#include <iostream>
int main() {
sqlite3* db;
int fd = sqlite3_open("mydb.db", &db);
if (fd == SQLITE_OK) {
std::cout << "Success opening the database.\n";
} else {
std::cerr << "Error:\n";
std::cerr << sqlite3_errmsg(db) << '\n';
exit(1);
}
sqlite3_close(db);
}
Ausgang:
Success opening the database.
C:\Users\Win 10\source\repos\testsqlite3\x64\Debug\testsqlite3.exe (process 14648) exited with code 0.
Press any key to close this window . . .
Bpt-Paketmanager für C++
Ein weiterer Paketmanager für C/C++ ist ein Build- und Paketierungstool, das auf den Websites von GitHub und Bpt verfügbar ist. Die Installation dieses Paketmanagers ist ähnlich wie bei vcpkg
, kann aber nicht auf einer IDE ausgeführt werden; es muss unabhängig ausgeführt werden.
Installieren Sie den Bpt-Paket-Manager
Bpt kann von GitHub geklont oder sein Installer von hier heruntergeladen werden.
Bpt ist eine eigenständige Anwendung und muss daher nicht innerhalb des Systems erstellt werden. Die ausführbare Datei muss jedoch in Windows im Benutzerpfad abgelegt werden.
Um Bpt zum Dateipfad hinzuzufügen, verschieben Sie die Datei .exe
in ein Verzeichnis im Laufwerk C:\
, vorzugsweise in ein Unterverzeichnis wie C:\dev\bpt
, und fügen Sie diesen Dateipfad in die Benutzervariable ein in Systemvariablen der Umgebung.
Um zu den Benutzervariablen zu gelangen, klicken Sie mit der rechten Maustaste auf Dieser PC Windows 10 oder höher und klicken Sie auf Eigenschaften. Gehen Sie im neuen Fenster zu Erweiterte Systemeinstellungen>Umgebungsvariablen
.
Wählen Sie in den Umgebungsvariablen den Pfad im oberen Abschnitt Benutzervariable
und klicken Sie auf Bearbeiten...
Klicken Sie zuletzt auf Neu, fügen Sie den Dateipfad ein und klicken Sie in allen geöffneten Dialogfeldern auf OK.
Bei korrekter Ausführung wird Bpt zu den Benutzervariablen hinzugefügt und kann über die Eingabeaufforderung aufgerufen werden. Schreiben Sie zur Überprüfung den Befehl:
bpt --help
Es wird eine Liste mit Befehlen für Bpt angezeigt.
Erstellen Sie ein Hello World
-Programm
Mit dem Befehl bpt new
kann ein sehr einfaches Projekt erstellt werden:
bpt new hello-bpt
Einige Fragen werden von bpt gestellt. Verwenden Sie vorerst die Standardeinstellung.
Dadurch wird ein neues Verzeichnis namens hello-bpt/
und ein neues Projekt namens hello-bpt
erstellt. bpt new
erstellt Projekte standardmäßig in Unterverzeichnissen, die den gleichen Namen haben wie die Projekte selbst.
Bpt generiert ein src/
-Verzeichnis und eine bpt.yaml
-Datei im neuen Projektverzeichnis. Es wird auch ein include/
-Verzeichnis generiert, wenn Sie sich entscheiden, Header und Quellen aufzuteilen.
Die Informationen des Projekts werden in der Datei bpt.yaml
deklariert, die das Bpt zum Erstellen, Verpacken, Testen und Verteilen des Projekts verwendet.
Der Quellcode des Projekts wird im Unterverzeichnis src/
(und möglicherweise include/
) aufbewahrt. Wenn Sie Quelldateien zu diesen Verzeichnissen hinzufügen, einschließlich aller verschachtelten Unterverzeichnisse dieser Verzeichnisse der obersten Ebene, sucht Bpt danach und kompiliert sie.
Die Verzeichnisse src/
und include/
sind die Source-Roots.
Erstellen Sie einen Einstiegspunkt für das Programm
Eine Datei muss in einem Quellstamm mit der richtigen Dateierweiterung erstellt werden, um eine Quelldatei zu unserem Projekt hinzuzufügen. In diesem Beispiel wird eine Quelldatei zum Quellverzeichnis root>/src/
hinzugefügt.
Da wir ein Programm entwickeln möchten, muss außerdem angegeben werden, dass die Quelldatei eine main()
-Funktion enthält, die als Einstiegspunkt der Anwendung dient. Fügen Sie dazu der Dateierweiterung .main
hinzu.
Erstellen Sie eine Datei wie - <root>/src/hello-app.main.cpp
und fügen Sie den Code ein:
#include <iostream>
int main() { std::cout << "Build Complete" }
Kompilieren Sie das Programm
Das Bpt beschreibt die Programmier-Toolchain zum Kompilieren des Programms. Einige vorgefertigte Toolchain-Auswahlmöglichkeiten in Bpt können sofort verwendet werden und erfüllen unsere Anforderungen.
Der Toolchain-Name lautet: gcc
, wenn das Programm mit GCC kompiliert wird, während der Toolchain-Name: clang
und msvc
verwendet werden muss, wenn das Programm mit Clang bzw. Microsoft Visual C++ kompiliert wird.
Führen Sie den Befehl bpt build
wie im Beispiel unten gezeigt aus, um den Build auszuführen, und verwenden Sie dabei den richtigen Toolchain-Namen für die Toolchain.
bpt build -t :gcc
Wenn alles nach Plan läuft, wird Bpt Details zum Kompilier- und Verknüpfungsvorgang ausgeben und sauber beenden.
Der Standardspeicherort für Build-Ergebnisse ist ein Verzeichnis namens _build
unter dem Paketstamm. Dieses Verzeichnis enthält die ausführbare Datei mit dem Namen hello-app
(unter Windows mit dem Suffix .exe
).
Beim Ausführen der ausführbaren Datei wird die Ausgabe angezeigt:
> ./_build/hello-app
Build Complete
Abschluss
Dieser Artikel erklärt zwei prominente C++-Paketmanager, vcpkg
und Bpt. Nachdem Sie diesen Artikel gelesen haben, kann der Leser diese Paketmanager einfach herunterladen, installieren und konfigurieren.