0

我已经成功安装了这个库。我的代码编译没有问题,但我收到了这个错误,我相信这是在链接期间:

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 文件的位置。任何帮助将不胜感激!

4

1 回答 1

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"
于 2013-01-08T23:15:32.970 回答