Paketmanager für C++

Jay Shaw 15 Februar 2024
  1. VC-Paket (vcpkg) - Ein Paketmanager für C++
  2. Bpt-Paketmanager für C++
  3. Abschluss
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.

Desktop-Entwickler mit C++

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.

Git-Setup

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:

  1. 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.

vcpkg https Klonen

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
Note
Der Name des geklonten Verzeichnisses kann sich je nach Zeitpunkt und Art des Downloads ändern. Bevor Sie den Befehl eingeben, überprüfen Sie den tatsächlichen Namen im Laufwerk C:\dev.
  1. 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.

Powershell-Suche sqlite3

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.

Subsystem-Konsolenoption

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.

Erweiterte Systemeinstellungen

Wählen Sie in den Umgebungsvariablen den Pfad im oberen Abschnitt Benutzervariable und klicken Sie auf Bearbeiten...

Umgebungsvariable - bearbeiten

Klicken Sie zuletzt auf Neu, fügen Sie den Dateipfad ein und klicken Sie in allen geöffneten Dialogfeldern auf OK.

Umgebungsvariable - Neu hinzufügen

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.