gpt4 book ai didi

GCC 错误 - 无法执行二进制文件

转载 作者:行者123 更新时间:2023-12-04 16:46:16 24 4
gpt4 key购买 nike

[谢谢大家!抱歉,我没有看到不匹配的内核,出于某种原因,我以为这是我的 64 位 ubuntu 服务器]

我使用 ct-ng 编译了一个自定义 gcc 工具链,编译成功但我写了一个简单的 hello world 并且我看到了这个错误

谁能指出这里出了什么问题以及为什么我会收到此错误?

错误:

src/main$ ./main 
bash: ./main: cannot execute binary file

关于操作系统

uname -a
Linux lnx-server 3.2.0-25-generic-pae #40-Ubuntu SMP Wed May 23 22:11:24 UTC 2012 i686 i686 i386 GNU/Linux

文件的一些附加信息

src/main$ file main
main: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped

文件权限

-rwxrwxr-x 1 balravin balravin  8276 Jul 27 17:45 main

命令用于编译

src/main$ x86_64-mvl-linux-gnu-gcc -o main main2.c

GCC 配置

> src/main$ x86_64-mvl-linux-gnu-gcc --v Using built-in specs. Target:
> x86_64-mvl-linux-gnu Configured with:
> /home/balravin/tools/platform/x86/src/gnu/gcc/4.2.4/.build/src/gcc-4.2.4/configure
> --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=x86_64-mvl-linux-gnu --prefix=/home/balravin/tools/platform/x86/obj/gnu/gcc/4.2.4/x86_64-mvl-linux-gnu
> --with-sysroot=/home/balravin/tools/platform/x86/obj/gnu/gcc/4.2.4/x86_64-mvl-linux-gnu/x86_64-mvl-linux-gnu/sysroot
> --enable-languages=c,c++ --disable-sjlj-exceptions --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --enable-threads=posix --enable-target-optspace --with-long-double-128 --disable-nls --disable-multilib --with-local-prefix=/home/balravin/tools/platform/x86/obj/gnu/gcc/4.2.4/x86_64-mvl-linux-gnu/x86_64-mvl-linux-gnu/sysroot
> --enable-c99 --enable-long-long Thread model: posix gcc version 4.2.4

最后 main2.c

#include <stdio.h>
int main() {

printf("\nHello Work\n");
return 0;
}

最佳答案

您的内核是 32 位的,并且您编译了一个 64 位的二进制文件。您需要在 64 位硬件上安装 64 位内核才能运行 64 位二进制文​​件。

关于GCC 错误 - 无法执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11697320/

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