即使指定了 -L,ld 也找不到共享库
ld cannot find shared library even with -L specified
我正在尝试针对特定位置 (/home/user/cuda_sync_analyzer-install/lib/libInsertTimingInstr.so
) 的共享库编译 C 文件,但 ld
似乎无法找到它 -
$ gcc -g -I/home/user/tools/cuda_sync_analyzer/src/InsertTimingInstr \
-L/home/user/cuda_sync_analyzer-install/lib/ \
callback.c -o callback -lInsertTimingInstr.so
/usr/bin/ld: cannot find -lInsertTimingInstr.so
collect2: error: ld returned 1 exit status
我也试过了
$ gcc -g -I/home/user/tools/cuda_sync_analyzer/src/InsertTimingInstr \
-L/home/user/cuda_sync_analyzer-install/lib/ \
-lInsertTimingInstr.so callback.c -o callback
/usr/bin/ld: cannot find -lInsertTimingInstr.so
collect2: error: ld returned 1 exit status
以及设置LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH=/home/user/cuda_sync_analyzer-install/lib/
$ gcc -g -I/home/user/tools/cuda_sync_analyzer/src/InsertTimingInstr \
callback.c -o callback -lInsertTimingInstr.so
/usr/bin/ld: cannot find -lInsertTimingInstr.so
collect2: error: ld returned 1 exit status
文件 libInsertTimingInstr.so
存在于目录中 -
$ ls -l /home/user/cuda_sync_analyzer-install/lib/ | grep Timing
-rw-r--r-- 1 user user 51992 Mar 18 18:04 libInsertTimingInstr.so
but ld cannot seem to find it
此命令行:gcc ... -lInsertTimingInstr.so ...
要求 linker link 反对 libInsertTimingInstr.so.a
或 libInsertTimingInstr.so.so
,两者都不存在。
您想要:gcc ... -lInsertTimingInstr ...
(即删除 lib
前缀 和 .so
后缀)。
或者,您可以这样做:gcc ... /home/user/cuda_sync_analyzer-install/lib/libInsertTimingInstr.so ...
我正在尝试针对特定位置 (/home/user/cuda_sync_analyzer-install/lib/libInsertTimingInstr.so
) 的共享库编译 C 文件,但 ld
似乎无法找到它 -
$ gcc -g -I/home/user/tools/cuda_sync_analyzer/src/InsertTimingInstr \
-L/home/user/cuda_sync_analyzer-install/lib/ \
callback.c -o callback -lInsertTimingInstr.so
/usr/bin/ld: cannot find -lInsertTimingInstr.so
collect2: error: ld returned 1 exit status
我也试过了
$ gcc -g -I/home/user/tools/cuda_sync_analyzer/src/InsertTimingInstr \
-L/home/user/cuda_sync_analyzer-install/lib/ \
-lInsertTimingInstr.so callback.c -o callback
/usr/bin/ld: cannot find -lInsertTimingInstr.so
collect2: error: ld returned 1 exit status
以及设置LD_LIBRARY_PATH
$ export LD_LIBRARY_PATH=/home/user/cuda_sync_analyzer-install/lib/
$ gcc -g -I/home/user/tools/cuda_sync_analyzer/src/InsertTimingInstr \
callback.c -o callback -lInsertTimingInstr.so
/usr/bin/ld: cannot find -lInsertTimingInstr.so
collect2: error: ld returned 1 exit status
文件 libInsertTimingInstr.so
存在于目录中 -
$ ls -l /home/user/cuda_sync_analyzer-install/lib/ | grep Timing
-rw-r--r-- 1 user user 51992 Mar 18 18:04 libInsertTimingInstr.so
but ld cannot seem to find it
此命令行:gcc ... -lInsertTimingInstr.so ...
要求 linker link 反对 libInsertTimingInstr.so.a
或 libInsertTimingInstr.so.so
,两者都不存在。
您想要:gcc ... -lInsertTimingInstr ...
(即删除 lib
前缀 和 .so
后缀)。
或者,您可以这样做:gcc ... /home/user/cuda_sync_analyzer-install/lib/libInsertTimingInstr.so ...