Apabila cuba memautkan program C dengan perpustakaan Boost pada Ubuntu, perkara berikut ralat mungkin dihadapi:
main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length'
Ralat ini timbul apabila perpustakaan Boost yang diperlukan tidak dipautkan dengan betul program.
Untuk menyelesaikan isu ini, adalah penting untuk memanfaatkan fungsi find_package CMake untuk mencari perpustakaan Boost. Biasanya, skrip bernama FindBoost.cmake disertakan dengan kebanyakan pemasangan CMake.
Skrip ini akan memberikan arahan tentang cara menggunakan Boost_INCLUDE_DIR untuk memasukkan fail pengepala Boost dan Boost_LIBRARIES untuk dipautkan ke perpustakaan Boost dalam projek CMake anda. Berikut ialah contoh cara untuk mencapai ini:
FIND_PACKAGE(Boost 1.40 COMPONENTS program_options REQUIRED) INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) ADD_EXECUTABLE(anyExecutable myMain.cpp) TARGET_LINK_LIBRARIES(anyExecutable LINK_PUBLIC ${Boost_LIBRARIES})
Atas ialah kandungan terperinci Bagaimana untuk Memautkan Program C dengan Boost Menggunakan CMake pada Ubuntu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!