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

问题描述 投票:1回答:1

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

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

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

谢谢。

c linux shared-libraries ld .so
1个回答
0
投票

[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-line:

-Wl,-rpath=$dir
© www.soinside.com 2019 - 2024. All rights reserved.