Konfigurationstipps zum Erstellen von Linux-Multithread-Anwendungen mit CMake
Die Entwicklung von Multithread-Anwendungen auf der Linux-Plattform ist eine häufige Aufgabe. CMake ist ein leistungsstarkes Build-Tool, das den Projekterstellungsprozess vereinfacht. In diesem Artikel wird die Konfiguration und Erstellung von Multithread-Anwendungen mit CMake vorgestellt und einige Codebeispiele gegeben.
Stellen Sie zunächst sicher, dass CMake installiert ist. Geben Sie im Terminal den folgenden Befehl ein, um zu überprüfen, ob CMake installiert ist:
cmake --version
Wenn CMake bereits installiert ist, werden seine Versionsinformationen angezeigt. Wenn es nicht installiert ist, installieren Sie CMake entsprechend Ihrer Linux-Distribution.
Als nächstes erstellen wir eine einfache Multithread-Anwendung, um zu veranschaulichen, wie man sie mit CMake konfiguriert.
Erstellen Sie zunächst eine Datei namens „main.cpp“ und schreiben Sie den folgenden Code hinein:
#include <iostream> #include <thread> void threadFunction() { std::cout << "This is a thread." << std::endl; } int main() { std::thread t(threadFunction); t.join(); std::cout << "This is the main thread." << std::endl; return 0; }
In diesem Beispiel definieren wir eine Funktion namens threadFunction
und fügen sie hinzu. Es wird eine Nachricht ausgegeben. In der Funktion main
erstellen wir einen neuen Thread und warten dann mit der Funktion join
auf den Abschluss des Threads. Schließlich geben wir eine Nachricht aus, die den Hauptthread darstellt. threadFunction
的函数,并在其中输出一条消息。在main
函数中,我们创建了一个新的线程,然后使用join
函数等待该线程完成。最后,我们输出一条消息来表示主线程。
接下来,我们创建一个名为"CMakeLists.txt"的文件,并在其中编写以下内容:
cmake_minimum_required(VERSION 3.12) project(Threads) set(CMAKE_CXX_STANDARD 14) find_package(Threads REQUIRED) add_executable(Threads main.cpp) target_link_libraries(Threads PRIVATE Threads::Threads)
在这个示例的CMakeLists.txt文件中,我们首先指定了CMake的最低版本要求。然后,我们设置了C++标准的版本为C++14。
接着,我们使用find_package
命令来查找Threads库。这个库是C++标准库的一部分,其中包含了多线程相关的功能。我们通过REQUIRED
关键字告诉CMake这是必需的。
然后,我们使用add_executable
命令来指定要生成的可执行文件的名称和源文件。在这个例子中,我们将生成一个名为"Threads"的可执行文件,并使用"main.cpp"作为源文件。
最后,我们使用target_link_libraries
mkdir build cd build cmake .. make
find_package
, um die Threads-Bibliothek zu finden. Diese Bibliothek ist Teil der C++-Standardbibliothek und enthält Multithreading-bezogene Funktionen. Wir teilen CMake über das Schlüsselwort REQUIRED
mit, dass dies erforderlich ist. Dann verwenden wir den Befehl add_executable
, um den Namen und die Quelldatei der zu generierenden ausführbaren Datei anzugeben. In diesem Beispiel generieren wir eine ausführbare Datei mit dem Namen „Threads“ und verwenden „main.cpp“ als Quelldatei. Schließlich verwenden wir den Befehl target_link_libraries
, um die Threads-Bibliothek mit unserer ausführbaren Datei zu verknüpfen. Jetzt können wir unsere Anwendung mit den folgenden Befehlen erstellen: ./Threads
This is a thread. This is the main thread.
Das obige ist der detaillierte Inhalt vonKonfigurationstipps zum Erstellen von Linux-Multithread-Anwendungen mit CMake. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!