mips64el-unknown-linux-gnu-gcc交叉編譯ELF-64程序

當用mips64el-unknown-linux-gnu-gcc編譯一個t.c的文件時,

t.c的內容如下:

#include<stdio.h>

int main()

{

       return 0;

}


mybox ~ # mips64el-unknown-linux-gnu-gcc -c t.c
mybox ~ # mips64el-unknown-linux-gnu-ld -o -m elf64ltsmip t t.o
mips64el-unknown-linux-gnu-ld: cannot find elf64ltsmip: No such file or directory
t.o: In function `main':
t.c:(.text+0x0): multiple definition of `main'
t:(.text+0x0): first defined here

可以用下面的方法解決這個問題:

mips64el-unknown-linux-gnu-gcc -mabi=64 -c t.c
mips64el-unknown-linux-gnu-ld -m elf64ltsmip -o t t.o

用下面的這個命令可以看該機器都支持哪幾種emulations:
mybox ~ # mips64el-unknown-linux-gnu-ld -o -mabi=64 t t.o
mips64el-unknown-linux-gnu-ld: unrecognised emulation mode: abi=64
Supported emulations: elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章