gpt4 book ai didi

c - gcc-arm 链接错误 : attempted static link of dynamic object

转载 作者:行者123 更新时间:2023-12-01 15:28:33 26 4
gpt4 key购买 nike

我正在尝试使用包含 neon 指令的 arm-linux-gnueabi-gcc 编译一个程序并通过 Qemu 执行它。代码是,

#include <arm_neon.h>
void NeonTest(short int * __restrict a, short int * __restrict b, short int * __restrict z)
{
int i;
for (i = 0; i < 200; i++) {
z[i] = a[i] * b[i];
}
}

我在不使用 -static 标志的情况下成功地做到了。但如果未使用 -static 标志,Qemu 不会执行/识别可执行文件。所以当我使用-static编译链接时,出现如下错误,

junaid@junaid755:~/code/c$ arm-linux-gnueabi-gcc -static -march=armv7-a -mtune=cortex-a9 -ftree-vectorize -mhard-float -mfloat-abi=softfp -mfpu=neon -ffast-math -mvectorize-with-neon-quad -S neon_test.c 
junaid@junaid755:~/code/c$ arm-linux-gnueabi-gcc -static -march=armv7-a -mtune=cortex-a9 -ftree-vectorize -mhard-float -mfloat-abi=softfp -mfpu=neon -ffast-math -mvectorize-with-neon-quad -c neon_test.s -o neon_test.o
junaid@junaid755:~/code/c$ arm-linux-gnueabi-gcc -static -march=armv7-a -mtune=cortex-a9 -ftree-vectorize -mhard-float -mfloat-abi=softfp -mfpu=neon -ffast-math -mvectorize-with-neon-quad neon_test.o -o neon_test
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: attempted static link of dynamic object `/lib/ld-linux.so.3'
collect2: error: ld returned 1 exit status

我已经尝试过 ermine、statifier 和其他用于可移植 linux 应用程序的软件。但问题是它们适用于可执行文件,而在我的情况下,可执行文件生成导致错误。

最佳答案

当我在我的系统上安装 arm-linux-gnueabihf-gcc 时问题就解决了。也许安装的其他软件包可能已经解决了这个问题。现在我使用 arm-linux-gnueabihf-gcc 命令代替 arm-linux-gnueabi-gcc。现在 exe 文件是静态链接的。但问题并没有完全解决。在 qemu 上它现在给出段错误。

关于c - gcc-arm 链接错误 : attempted static link of dynamic object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32371868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com