GNU/Linux >> Belajar Linux >  >> Linux

Libusb undefined referensi ke

Anda harus mengatur flag library linker untuk kompilasi di linker, Anda bisa mendapatkan daftar lengkap di konsol dengan menjalankan

pkg-config --list-all

Ini adalah pustaka yang telah Anda instal di sistem Anda dan Anda harus menautkannya dengan pustaka yang ingin Anda gunakan. jadi dalam contoh Anda itu adalah libusb jadi Anda melakukannya

pkg-config --libs libusb

harus ada output

-lusb

atau

-lusb-1.0

Ini memberi Anda bendera yang harus Anda berikan ke linker. mis.

g++ myfile.cpp -lusb[-1.0]

Kemudian Anda mengedit konfigurasi proyek dan mencari flag tautan, harus ada bidang teks untuk itu di suatu tempat di buildoptions. saya tidak yakin di mana menemukannya tetapi mencari di Google menyarankan:

Project -> Properties -> C/C++
Build -> Miscellaneous -> flags

Setelah Anda menemukannya, cukup tambahkan flag tautan di bidang teks dan Anda akan baik-baik saja.

EDIT

karena jawaban saya diterima, saya juga menambahkan bendera lain yang tampaknya berfungsi untuk banyak orang.


Apa baris perintah linker Anda? Anda harus memiliki -lusb dalam perintah penautan; menyertakan tajuk saja tidak akan berfungsi.


Saya memang menghadapi masalah yang sama. Tapi saya bisa menyelesaikannya dengan menambahkan '-lusb-1.0' ke linker.

misalnya:g++ myfile.cpp -lusb-1.0


Linux
  1. MySQL:Referensi Cepat Perintah Dasar

  2. 10 perintah systemd yang berguna:Referensi

  3. Arsitektur referensi Rackspace Open Cloud

  1. Kesalahan C++:referensi tidak terdefinisi ke 'clock_gettime' dan 'clock_settime'

  2. crt1.o:Dalam fungsi `_start':- referensi tidak terdefinisi ke `main' di Linux

  3. C++ Boost:referensi tidak terdefinisi untuk boost::system::generic_category()

  1. GDB:lx-simbol perintah yang tidak ditentukan

  2. referensi yang tidak ditentukan untuk simbol '[email protected]@GLIBC_2.4'

  3. simbol numpy yang tidak terdefinisi:PyFPE_jbuf