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 の場合、コマンドラインは次のようになります。

$ nvcc test.cu -o test -L"/usr/local/lib" -l"gpujpeg"
于 2013-01-08T23:15:32.970 に答える