我在编译以下代码行时遇到问题:
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-line:
-Wl,-rpath=$dir