/usr/bin/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/bin/ld: buffer_frame.o: relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC buffer_frame.o: error adding symbols: 错误的值 collect2: error: ld returned 1 exit status
时间: 2023-07-23 20:20:29 浏览: 148
arm-linux-gcc-3.4.1环境搭建 下载地址和操作
3星 · 编辑精心推荐
这个错误是由于在编译时缺少 -fPIC 选项导致的。-fPIC 选项是编译动态链接库时必须加上的选项之一。在重新编译时,你需要使用以下命令:
```
gcc -fPIC -c buffer_frame.c -o buffer_frame.o
gcc -shared buffer_frame.o -o libbuffer_frame.so
```
这将在编译时添加 -fPIC 选项,并生成一个名为 libbuffer_frame.so 的动态链接库。
阅读全文