Rumah >pembangunan bahagian belakang >C++ >Mengapa `link_directories` CMake Gagal Menemui Pustaka Saya Walaupun Spesifikasi Laluan yang Betul?

Mengapa `link_directories` CMake Gagal Menemui Pustaka Saya Walaupun Spesifikasi Laluan yang Betul?

Linda Hamilton
Linda Hamiltonasal
2024-12-10 20:31:15347semak imbas

Why Does CMake's `link_directories` Fail to Find My Library Despite Correct Path Specification?

CMake: Link_Directories Gagal Mengesan Pustaka

Isu:

Dalam CMake berasaskan projek dengan direktori src dan bina, perpustakaan bernama "protobuf" tidak dapat ditemui walaupun menggunakan arahan link_directories.

Butiran:

  • src/CMakeLists.txt termasuk konfigurasi CMake dengan link_directories menghala ke "/usr/lib/x86_64-linux-gnu ," lokasi libprotobuf.so.
  • The CMakeLists.txt juga termasuk perintah add_executable dan target_link_libraries.
  • main.cpp merujuk fungsi daripada libprotobuf.so tetapi menemui ralat rujukan yang tidak ditentukan pada masa pautan.
  • Menggunakan laluan penuh ke libprotobuf.so dalam arahan target_link_libraries dan bukannya link_directories menghasilkan kejayaan memaut.

Penyelesaian:

Pastikan arahan link_directories muncul sebelum bukan sahaja target_link_libraries tetapi juga add_executable dalam fail CMakeLists.txt.

Atas ialah kandungan terperinci Mengapa `link_directories` CMake Gagal Menemui Pustaka Saya Walaupun Spesifikasi Laluan yang Betul?. 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