Rumah >pembangunan bahagian belakang >C++ >Mengapa `link_directories` CMake Gagal Mencari Perpustakaan Melainkan Diletakkan Sebelum `add_executable`?

Mengapa `link_directories` CMake Gagal Mencari Perpustakaan Melainkan Diletakkan Sebelum `add_executable`?

Barbara Streisand
Barbara Streisandasal
2024-12-02 13:09:13283semak imbas

Why Does CMake's `link_directories` Fail to Find Libraries Unless Placed Before `add_executable`?

"link_directories" CMake Gagal Mencari Perpustakaan

Apabila menghadapi ralat pemaut yang menunjukkan tiada rujukan kepada fungsi daripada perpustakaan, walaupun menggunakan "link_directories" dalam CMake, adalah penting untuk memeriksa susunan arahan anda. Penyelesaiannya terletak pada memastikan bahawa arahan "link_directories" mendahului doa "add_executable", seperti yang ditunjukkan di bawah:

link_directories(/usr/lib/x86_64-linux-gnu)
add_executable(test main.cpp)

Pada mulanya, salah tanggapan ialah "link_directories" hanya perlu muncul sebelum "target_link_libraries." Walau bagaimanapun, meletakkannya sebelum "add_executable" menyelesaikan isu itu, membolehkan CMake berjaya memautkan pustaka yang diperlukan.

Atas ialah kandungan terperinci Mengapa `link_directories` CMake Gagal Mencari Perpustakaan Melainkan Diletakkan Sebelum `add_executable`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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