【发布时间】:2012-07-29 17:49:15
【问题描述】:
我是这样写的:
gcc -m elf_i386
上面写着:
gcc: error: elf_i386: No such file or directory
基本上我正在尝试在 64 位系统上编译一个 32 位程序,但是错误:
/usr/lib64/gcc/x86_64-suse-linux/4.6/../../../../x86_64-suse-linux/bin/ld:
skipping incompatible /usr/lib/libSDL.so when searching for -lSDL
我检查了使用 -m32 构建的项目,我可以看到所有 *.o 文件都是 ELF 32 位 LSB,而 /usr/lib/libSDL.so 也是 ELF 32 位 LSB。 .所以我可能需要将 -m elf_i386 传递给 ld 对吗?但我不直接使用ld我只是使用gcc编译它。
【问题讨论】:
-
你在链接命令行上也有 -m32 吗?这会将正确的 -m 以及使链接器输出 32 位程序所需的任何其他选项传递给 ld。
-
如何将 -m32 传递给链接命令行?我用gcc直接生成二进制exe