Rumah >pembangunan bahagian belakang >C++ >Mengapa CMake Gagal Mencari Pustaka Saya Apabila Menggunakan `link_directories`?

Mengapa CMake Gagal Mencari Pustaka Saya Apabila Menggunakan `link_directories`?

Susan Sarandon
Susan Sarandonasal
2024-12-05 15:16:09844semak imbas

Why is CMake Failing to Find My Library When Using `link_directories`?

CMake Gagal Mencari Pustaka dengan Panggilan "link_directories"

Isu ini berlaku apabila cuba memautkan perpustakaan menggunakan arahan "link_directories" dalam CMake tetapi menghadapi ralat pemaut yang menunjukkan rujukan tidak ditentukan kepada perpustakaan fungsi.

Dalam contoh yang disediakan, panggilan "link_directories" diletakkan dengan tidak betul. Untuk menyelesaikan masalah ini, pastikan bahawa panggilan "link_directories" terletak sebelum panggilan "add_executable" dalam fail CMakeLists.txt anda.

Berikut ialah fail CMakeLists.txt yang diubah suai:

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

Dengan meletakkan "link_directories" sebelum "add_executable", CMake betul mengenal pasti pustaka semasa memaut dan menyelesaikan ralat rujukan yang tidak ditentukan.

Perlu diperhatikan bahawa mesej ralat dan laluan pustaka tertentu mungkin berbeza-beza bergantung pada sistem anda dan pustaka yang dipautkan. Walau bagaimanapun, prinsip umum untuk memastikan bahawa "link_directories" mendahului "add_executable" kekal sama.

Atas ialah kandungan terperinci Mengapa CMake Gagal Mencari Pustaka Saya Apabila Menggunakan `link_directories`?. 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