Saat ini sedang mencoba menyusun program sederhana yang diberikan dalam OpenCL dari situs web ini . Ini akan memberi saya persyaratan DeviceInfo
yang saya butuhkan. Setelah memohon make
, saya mendapatkan kesalahan di bawah ini:
sharan@sharan-X550CC:~/opencl-ex/Ex1$ make
g++ DeviceInfo.cpp -I ../../Cpp_common -lOpenCL -o DeviceInfo
/usr/bin/ld: cannot find -lOpenCL
collect2: error: ld returned 1 exit status
Makefile:23: recipe for target 'DeviceInfo' failed
make: *** [DeviceInfo] Error 1
Sekarang saya telah menginstal menggunakan instruksi dari situs web ini . Namun, saya tetap mendapatkan error di atas.
Bagaimana saya bisa mengatasi kesalahan ini?
Seperti yang sudah dinyatakan oleh Yaron, penghubung tidak tahu di mana menemukan pustaka OpenCL, artinya tidak ada tempat untuk mencarinya.
Alih-alih memindahkannya ke salah satu tempat (misalnya
/usr/lib
) saya sarankan untuk memberi tahu linker di mana mencarinya melalui-L
flag. Perintah itu kemudian akan membaca (perhatikan-L/usr/lib/x86_64-linux-gnu
)Jika Anda menggunakan tulisan tangan,
Makefile
Anda cukup memodifikasi perintah kompiler / tautan seperti ini. Kalau tidak, Anda harus menyentuh sistem build Anda bagaimana memasukkannya.sumber
LDFLAGS
misalnyamake 'LDFLAGS=-L/usr/lib/x86_64-linux-gnu'
LDFLAGS=$LDFLAGS:/usr/lib/x86_64-linux-gnu/
mempertahankan pengaturan sebelumnya