Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Berjaya Memautkan Program C dengan Boost Menggunakan CMake?

Bagaimana untuk Berjaya Memautkan Program C dengan Boost Menggunakan CMake?

Susan Sarandon
Lepaskan: 2024-12-12 18:58:15
asal
498 orang telah melayarinya

How to Successfully Link a C   Program with Boost Using CMake?

Memautkan Program C dengan Boost Menggunakan CMake

Panduan ini menangani isu memautkan program C dengan perpustakaan Boost menggunakan CMake. Apabila cuba memautkan atur cara, pengguna mungkin menghadapi ralat seperti "rujukan tidak ditentukan kepada `boost::program_options::options_description::m_default_line_length'".

CMbuat Konfigurasi untuk Memaut

Untuk menyelesaikan isu ini, ubah suai fail CMake untuk memasukkan perkara berikut baris:

find_package(Boost 1.40 COMPONENTS program_options REQUIRED)
include_directories(${Boost_INCLUDE_DIR})

add_executable(my_target_file main.cpp)

target_link_libraries(my_target_file LINK_PUBLIC ${Boost_LIBRARIES})
Salin selepas log masuk

Penjelasan Kod

  • find_package(Boost): Cari perpustakaan Boost dan komponennya, dalam kes ini program_options.
  • include_directories(): Menambahkan direktori Boost include pada carian laluan.
  • add_executable(): Mencipta fail boleh laku bernama my_target_file daripada fail sumber main.cpp.
  • target_link_libraries(): Memautkan pustaka Boost kepada executable.

Alternatif Pendekatan

Jika kaedah find_package gagal, anda boleh menentukan laluan dan nama perpustakaan Boost secara manual, seperti yang dilihat di bawah:

include_directories(/path/to/Boost/include)

target_link_libraries(my_target_file ${Boost_PROGRAM_OPTIONS_LIBRARY})
Salin selepas log masuk

Sumber Tambahan

  • [Dokumentasi CMake Rasmi untuk FindBoost](https://cmake.org/cmake/help/v3.21/module/FindBoost.html)
  • [Kod Sumber FindBoost.cmake pada GitHub](https://github.com/Kitware /CMake/blob/master/Modules/FindBoost.cmake)

Atas ialah kandungan terperinci Bagaimana untuk Berjaya Memautkan Program C dengan Boost Menggunakan CMake?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan