Rumah > Artikel > Operasi dan penyelenggaraan > Petua konfigurasi untuk membina aplikasi berbilang benang Linux menggunakan CMake
Petua konfigurasi untuk membina aplikasi berbilang benang Linux menggunakan CMake
Membangunkan aplikasi berbilang benang pada platform Linux adalah tugas biasa. CMake ialah alat binaan berkuasa yang memudahkan proses pembinaan projek. Artikel ini akan memperkenalkan cara mengkonfigurasi dan membina aplikasi berbilang benang menggunakan CMake, dan memberikan beberapa contoh kod.
Pertama, pastikan CMake dipasang. Masukkan arahan berikut dalam terminal untuk menyemak sama ada CMake dipasang:
cmake --version
Jika CMake sudah dipasang, maklumat versinya akan dipaparkan. Jika ia tidak dipasang, pasang CMake mengikut pengedaran Linux anda.
Seterusnya, kami akan mencipta aplikasi berbilang benang mudah untuk menggambarkan cara mengkonfigurasinya menggunakan CMake.
Mula-mula, buat fail bernama "main.cpp" dan tulis kod berikut di dalamnya:
#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; }
Dalam contoh ini, kami mentakrifkan fungsi yang dipanggil threadFunction
dan tambahkannya dalam A message is output. Dalam fungsi utama
, kami mencipta urutan baharu dan kemudian menggunakan fungsi sertai
untuk menunggu urutan selesai. Akhir sekali, kami mengeluarkan mesej untuk mewakili utas utama. 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 .. makeDalam fail CMakeLists.txt contoh ini, kami mula-mula menentukan keperluan versi minimum CMake. Kemudian, kami menetapkan versi standard C++ kepada C++14. Seterusnya, kami menggunakan perintah
find_package
untuk mencari pustaka Threads. Pustaka ini adalah sebahagian daripada pustaka standard C++ dan mengandungi fungsi berkaitan multi-threading. Kami memberitahu CMake bahawa ini diperlukan melalui kata kunci DIPERLUKAN
. Kemudian, kami menggunakan perintah add_executable
untuk menentukan nama dan fail sumber fail boleh laku yang akan dijana. Dalam contoh ini, kami akan menjana fail boleh laku bernama "Threads" dan menggunakan "main.cpp" sebagai fail sumber. Akhir sekali, kami menggunakan perintah target_link_libraries
untuk memautkan pustaka Threads ke fail boleh laku kami. Kini kita boleh membina aplikasi menggunakan arahan berikut: ./ThreadsArahan ini akan menjana fail projek dalam direktori "bina" dan membina boleh laku. Setelah selesai, kami boleh menjalankan aplikasi kami: 🎜
This is a thread. This is the main thread.🎜Anda akan melihat output yang serupa dengan yang berikut: 🎜rrreee🎜Pada ketika ini, kami telah berjaya mengkonfigurasi dan membina aplikasi berbilang benang mudah menggunakan CMake. 🎜🎜Untuk meringkaskan, mengkonfigurasi dan membina aplikasi berbilang benang Linux menggunakan CMake adalah agak mudah dan mudah. Anda boleh menentukan kebergantungan dan perpustakaan pautan dengan menulis fail CMakeLists.txt dan menggunakan arahan yang sepadan untuk menjana fail boleh laku. Alat CMake yang berkuasa boleh memudahkan proses pembinaan projek. 🎜🎜Semoga kod sampel dan arahan dalam artikel ini dapat membantu anda lebih memahami cara menggunakan CMake untuk membina aplikasi berbilang benang. Saya doakan anda berjaya dalam pembangunan Linux! 🎜
Atas ialah kandungan terperinci Petua konfigurasi untuk membina aplikasi berbilang benang Linux menggunakan CMake. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!