我已成功安装此库。我的代码编译没有问题,但我收到此错误,我相信在链接期间:
suvamsh@vai:~/gpujpeg-lib/src$ nvcc test.cu
/tmp/tmpxft_00002869_00000000-13_test.o: In function 'encoder()':
tmpxft_00002869_00000000-1_test.cudafe1.cpp:(.text+0x23d): undefined reference to `gpujpeg_set_default_parameters(gpujpeg_parameters*)'
collect2: ld returned 1 exit status
我甚至将$ LD_LIBRARY_PATH设置为库.so文件的位置。 任何帮助将不胜感激!
答案 0 :(得分:1)
如@talonmies所示,
如果库位于“非标准”位置,则必须向编译器显式指定库并提供安装它的路径。
尝试以下命令
$ nvcc test.cu -o test -L"path/to/GPUJPEGLibrary" -l"name_of_GPUJPEGLibrary"
请注意,如果.so文件的名称是libxyz.so,则“name_of_GPUJPEGLibrary”应为“xyz”。
例如,如果你的.so文件是/usr/local/lib/libgpujpeg.so,cmdline应该是
$ nvcc test.cu -o test -L"/usr/local/lib" -l"gpujpeg"