即使指定了-L,%LD也找不到共享库找不到、LD

由网友(指尖花凉忆成殇)分享简介:我正在尝试针对特定位置(/home/user/cuda_sync_analyzer-install/lib/libInsertTimingInstr.so)的共享库编译C文件,但ld似乎找不到它-$ gcc -g -I/home/user/tools/cuda_sync_analyzer/src/InsertTimin...

我正在尝试针对特定位置(/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

推荐答案

但%d似乎找不到

此命令行:gcc ... -lInsertTimingInstr.so ...请求链接器链接到libInsertTimingInstr.so.alibInsertTimingInstr.so.so,但这两者都不存在。

您想要:gcc ... -lInsertTimingInstr ...(即删除lib前缀和.so后缀)。

或者,您也可以这样做:gcc ... /home/user/cuda_sync_analyzer-install/lib/libInsertTimingInstr.so ...

阅读全文

相关推荐

最新文章