Zum Hauptinhalt springen

So erstellen Sie eine Bibliothek mit cmake: Schritt für Schritt Anleitung

CMake ist ein plattformübergreifendes Anwendungsbuilding-Automatisierungssystem, mit dem Entwickler den Software-Buildprozess mit Einfachheit und Effizienz steuern können.

Es ermöglicht Ihnen, Projekte auf verschiedenen Plattformen und mit verschiedenen Compilern einfach zu erstellen und zu konfigurieren. Einer der Hauptvorteile von CMake ist die Fähigkeit, Bibliotheken zu erstellen, was ein wesentlicher Bestandteil der Softwareentwicklung ist.

Sie können eine Bibliothek mit CMake wie folgt erstellen:

  1. Erstellen Sie eine CMakeLists-Datei.txt im Stammverzeichnis Ihres Projekts.
  2. Bestimmen Sie den Namen Ihrer Bibliothek mit dem Befehl add_library() und den Pfad zu den Quelldateien angeben.
  3. Geben Sie bei Bedarf Build-Optionen und zusätzliche Abhängigkeiten für Ihre Bibliothek an.
  4. Bestimmen Sie die Installation der Dateien in Ihrer Bibliothek mit dem Befehl install().

Mit diesen Schritten können Sie Ihre Bibliothek mit CMake erstellen und konfigurieren. Sie müssen nur die erforderlichen Build- und Abhängigkeitseinstellungen Ihres Projekts angeben, und CMake erstellt und erstellt die Bibliothek automatisch für Sie. Dies vereinfacht die Entwicklung und Wartung von Projekten mit Bibliotheken erheblich.

Der Prozess zum Erstellen einer Bibliothek mit CMake mag auf den ersten Blick schwierig erscheinen, aber nachdem Sie die Grundlagen beherrscht haben, können Sie Bibliotheken auf verschiedenen Plattformen und mit verschiedenen Compilern einfach erstellen und konfigurieren.

Vorbereiten der Montage der Bibliothek

Bevor Sie mit dem Erstellen einer Bibliothek mit CMake beginnen, müssen Sie einige vorläufige Schritte ausführen.

1. Installieren von Abhängigkeiten

Bevor Sie beginnen, müssen Sie sicherstellen, dass alle erforderlichen Abhängigkeiten auf Ihrem System installiert sind. Überprüfen Sie, ob die folgenden Komponenten installiert sind:

KomponenteVersion
System-CompilerC/C++ -Compiler (zB GCC, Clang, MSVC)
CMakeErforderliche Mindestversion: 3.12
Bibliotheken und Header-DateienHängt von der spezifischen Bibliothek ab, die Sie sammeln möchten. Installieren Sie alle erforderlichen Abhängigkeiten.

2. Erstellen eines Buildverzeichnisses

Es wird empfohlen, ein separates Verzeichnis zum Erstellen der Bibliothek zu erstellen, damit die Quelldateien des Projekts nicht verstopft werden. Erstellen Sie ein neues leeres Verzeichnis, das als Verzeichnis zum Erstellen der Bibliothek dient. Zum Beispiel:

mkdir buildcd build

3. Einrichten eines Projekts mit CMake

Jetzt, da Sie das zu erstellende Verzeichnis haben, können Sie das Projekt mit CMake einrichten. Führen Sie den folgenden Befehl im Build-Verzeichnis aus:

cmake

Der angegebene Pfad sollte zum Stammverzeichnis der Quelldateien Ihrer Bibliothek führen. Wenn der Pfad Leerzeichen enthält, wickeln Sie ihn in Anführungszeichen ein. Zum Beispiel:

cmake ../my_library

4. Anpassen der Baugruppenanpassungsparameter (optional)

Standardmäßig generiert CMake ein Projekt, um die Bibliothek mit den gängigsten Parametern zu erstellen. Sie können jedoch die Build-Parameter bei Bedarf ändern. Sie können beispielsweise ein Verzeichnis angeben, in dem die Bibliothek installiert werden soll, den Compiler konfigurieren oder bestimmte Funktionen aktivieren/deaktivieren. Weitere Informationen zum Konfigurieren von Build-Optionen finden Sie in der CMake-Dokumentation.

5. Projektdateien generieren

Nachdem Sie das Projekt konfiguriert haben, führen Sie den Befehl aus, um die Projektdateien im zu erstellenden Verzeichnis zu generieren:

cmake --build .

Jetzt sind Sie bereit, mit der Montage Ihrer Bibliothek zu beginnen!

Installieren von CMake und Konfigurieren der Umgebung

Um eine Bibliothek mit CMake zu erstellen, müssen Sie zuerst CMake installieren und die Umgebung konfigurieren. In diesem Abschnitt werden wir die Schritte zur Installation von CMake und zur Konfiguration der Umgebung auf verschiedenen Betriebssystemen untersuchen.

Installieren von CMake

Um CMake unter Windows zu installieren, müssen Sie das Installationspaket von der offiziellen CMake-Website herunterladen (https://cmake.org/download /). Starten Sie dann das Installationsprogramm und folgen Sie den Anweisungen auf dem Bildschirm. Nachdem die Installation abgeschlossen ist, können Sie überprüfen, ob CMake installiert ist, indem Sie die Eingabeaufforderung öffnen und den Befehl cmake --version ausführen .

Auf macOS können Sie den Homebrew-Batch-Manager verwenden, um CMake zu installieren. Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

brew install cmake

Unter Linux kann die Installation von CMake über den Paketmanager Ihrer Distribution erfolgen. Um beispielsweise auf Ubuntu zu installieren, führen Sie den Befehl aus:

sudo apt-get install cmake

Anpassen der Umgebung

Nachdem Sie CMake installiert haben, müssen Sie die Umgebung für das Projekt konfigurieren. Erstellen Sie dazu einen Ordner, in dem sich Ihr Projekt befindet, und navigieren Sie mit dem Befehl cd dorthin.

Erstellen Sie dann eine CMakeLists-Datei.txt im Stammordner des Projekts und öffnen Sie es in einem Texteditor. In dieser Datei beschreiben Sie die Projekteinstellungen für CMake.

Beginnen Sie mit der Angabe der minimalen Version von CMake, die zum Erstellen Ihres Projekts erforderlich ist. Wenn Ihr Projekt beispielsweise CMake Version 3.10 oder höher erfordert, fügen Sie der CMakeLists-Datei die folgende Zeile hinzu.txt :

cmake_minimum_required(VERSION 3.10)

Definieren Sie dann den Namen Ihres Projekts mit dem Projektbefehl wie folgt:

project(my_library)

Als nächstes können Sie Ihrem Projekt zusätzliche Einstellungen hinzufügen, z. B. eine Liste der Quelldateien und Compileroptionen. Es ist nicht möglich, alle Anpassungsmöglichkeiten für ein Projekt in CMake im Rahmen dieses Artikels zu beschreiben, aber Sie können die CMake-Dokumentation für weitere Informationen lesen.

Speichern Sie die CMakeLists-Datei, nachdem Sie die Umgebung konfiguriert haben.txt und schließen Sie es. Jetzt ist Ihre Umgebung eingerichtet und Sie sind bereit, mit dem Erstellen einer Bibliothek mit CMake zu beginnen.

Die Projektstruktur und die CMakeLists-Datei.txt

Um eine Bibliothek erfolgreich mit CMake erstellen zu können, benötigen Sie eine bestimmte Projektstruktur sowie eine CMakeLists-Datei.txt. In diesem Abschnitt sehen wir uns an, wie die Projektstruktur aussehen sollte und wie die CMakeLists-Datei konfiguriert wird.txt, um die Bibliothek zu erstellen.

Die Projektstruktur sieht normalerweise wie folgt aus:

Name des OrdnersInhalt des Ordners
includeHeader-Dateien (.h, .hpp)
srcQuelldatei (.cpp)
testsTests für die Bibliothek

Hier enthält der Ordner "include" alle öffentlichen Header-Dateien, die für die Verwendung in externen Projekten verfügbar sind. Der Ordner "src" enthält die Quelldateien der Bibliothek selbst, und der Ordner "Tests" enthält Tests, um die Integrität der Bibliothek zu überprüfen.

Gehen wir nun zur CMakeLists-Datei.txt. Diese Datei ist der Schlüssel zum Erstellen eines Projekts mit CMake. Hier ist ein Beispiel für einfache CMakeLists.txt-Datei:

cmake_minimum_required(VERSION 3.10)# Установка имени проектаproject(mylib)# Добавление папки с заголовочными файламиinclude_directories(include)# Добавление всех исходных файлов из папки srcfile(GLOB SOURCES "src/*.cpp")# Создание статической библиотекиadd_library(mylib STATIC $)# Добавление папки с тестамиadd_subdirectory(tests)

In diesem Beispiel geben wir die minimale Version von CMake an, geben den Projektnamen an und fügen den Ordner mit den Header-Dateien hinzu. Dann verwenden wir den Befehl "file(GLOB SOURCES "src/*.cpp")", um alle Quelldateien aus dem Ordner "src" hinzuzufügen. Als nächstes erstellen wir eine statische Bibliothek mit dem Befehl "add_library(mylib STATIC $)". Und schließlich fügen wir den Testordner mit dem Befehl "add_subdirectory(tests)" hinzu.

Dies ist nur ein Beispiel für eine einfache CMakeLists-Datei.txt, aber in realen Projekten kann es je nach Projektanforderungen andere Befehle und Einstellungen enthalten.

In diesem Abschnitt haben wir uns die grundlegenden Aspekte der Projektstruktur und der CMakeLists-Datei angesehen.txt benötigt, um die Bibliothek mit CMake zu erstellen. Im nächsten Abschnitt werden wir darüber sprechen, wie Sie Tests für eine Bibliothek kompilieren und ausführen können.

Erstellen eines Makefiles und Erstellen einer Bibliothek

Nachdem Sie die CMakeLists-Datei erstellt haben.txt und die erforderlichen Variablen und Direktiven konfiguriert haben, sind Sie bereit, ein Makefile zu generieren und Ihre Bibliothek zu erstellen.

Um ein Makefile mit CMake zu generieren, können Sie den folgenden Befehl in der Befehlszeile verwenden:

Es scannt das aktuelle Verzeichnis, in dem sich Ihr CMakeLists befindet.txt-Datei und wird ein Makefile im selben Verzeichnis erstellen.

Nachdem das Makefile erfolgreich generiert wurde, können Sie Ihre Bibliothek mit dem make-Dienstprogramm erstellen, indem Sie den folgenden Befehl ausführen:

Das Makefile verwendet die Anweisungen und Flags, die in Ihren Befehlen add_executable() und add_library() angegeben sind, um die Bibliothek zu kompilieren und zu kompilieren.

Standardmäßig wird die gesammelte Bibliothek im Unterverzeichnis CMakeFiles/ im Verzeichnis mit den Quelldateien Ihres Projekts abgelegt.

Wenn das Kompilieren und Erstellen erfolgreich war, können Sie die generierten Bibliotheks- und ausführbaren Dateien in den von Ihnen angegebenen Verzeichnissen finden. Sie müssen nur die generierte Bibliothek in Ihr Projekt einbinden und ihre Funktionalität nutzen.

Jetzt wissen Sie, wie Sie ein Makefile generieren und die Bibliothek mit CMake erstellen. Konfigurieren Sie CMakeLists.txt-Dateien können eine Herausforderung sein, aber mit der Praxis können Sie dieses Tool beherrschen und es verwenden, um Projekte beliebiger Komplexität zu erstellen.

Erstellen eines Build-Verzeichnisses und Aufrufen des Befehls CMake

Bevor Sie mit dem Erstellen einer Bibliothek mit CMake beginnen, müssen Sie ein separates Verzeichnis zum Erstellen des Projekts erstellen. In diesem Verzeichnis werden alle Dateien gespeichert, die mit dem Erstellungsprozess verknüpft sind.

Sie können den folgenden Befehl in der Befehlszeile verwenden, um ein Build-Verzeichnis zu erstellen:

mkdir build

Nachdem Sie das Build-Verzeichnis erstellt haben, müssen Sie mit dem Befehl cd in das Build-Verzeichnis wechseln :

cd build

Jetzt, da wir uns im Build-Verzeichnis befinden, können Sie die CMake-Befehle aufrufen, um das Projekt zu erstellen. Beginnen wir mit der Konfiguration des Projekts, indem Sie den Befehl cmake aufrufen und den Pfad zum Projektstammverzeichnis angeben:

cmake ..

Wenn Sie den Befehl cmake aufrufen, geben Sie zwei Punkte an. "." als Argument, um anzugeben, dass die Datei CMakeLists ist.txt befindet sich im übergeordneten Verzeichnis des Projekts.

Nachdem Sie das Projekt erfolgreich mit dem Befehl CMake konfiguriert haben, können Sie den Build-Befehl des Projekts selbst aufrufen. In den meisten Fällen wäre dies der Befehl make :

make

Der Befehl make führt den Build-Prozess des Projekts basierend auf den Anweisungen aus, die in der CMakeLists-Datei definiert sind.txt. Das Ergebnis des Befehls ist eine im Build-Verzeichnis erstellte Bibliothek.

Wenn der Build erfolgreich abgeschlossen wurde, können Sie die erstellte Bibliothek in Ihrem Projekt oder Ihrer Anwendung verwenden.