/usr/bin/ld: 找不到 -lRTU_Module Linux / 共享库 C 代码



我在编译以下代码行时遇到问题:

gcc -o main.c -ldl -lpthread -lRTU_Module main.o

我有以下错误消息:

/usr/bin/ld: cannot find -lRTU_Module
collect2: error: ld returned 1 exit status

当我尝试查找我的 .so 的位置时,它返回以下内容:

locate libRTU_Module.so
/home/owasys/workspace/AccelTest/libRTU_Module.so
/home/owasys/workspace/Compiler_gcc-linaro-5.3_patch/files/lib/libRTU_Module.so
/home/owasys/workspace/Compiler_gcc-linaro-5.3_patch/files/lib/libRTU_Module.so.1.0.11
/opt/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib/libRTU_Module.so
/opt/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib/libRTU_Module.so.0
/opt/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib/libRTU_Module.so.0.0.0
/opt/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/lib/libRTU_Module.so.1.0.11

我对类似问题的答案有红色倍数,但我还没有解决我的问题。

谢谢。

ld通常会扫描一组默认/配置的目录,通常不知道自定义内容,例如/home/a/b/c

应该很容易修复;这有效吗?

dir=/home/owasys/workspace/Compiler_gcc-linaro-5.3_patch/files/lib
gcc -o main.c -ldl -lpthread -lRTU_Module.so main.o -L $dir

可能需要告诉运行时链接编辑器在那里搜索,例如将其添加到 gcc cmd 行:

-Wl,-rpath=$dir

最新更新