2016-07-13 174 views
1

我想在MIPS架構(BCM6358)中運行一個應用程序。我公司開發的「Hello World」的應用程序是這樣的:針對MIPS架構的交叉編譯

#include <stdio.h> 
int main() 
{ 
    printf("Hello World") ; 
    return 0  ; 
} 

我也編這樣的:

# mips-linux-gnu-gcc -muclibc hallo.c 

但是,當我碰到...它不工作:

# libc.so.6 aborted attempt to ... a.out!! 

當然,libc.so.6不存在於MIPS框中,但是libc.so.0卻存在。

我也編這樣的:

# mips-linux-gnu-gcc -muclibc -mips32 -EB hallo.c -o hallo 

但是,輸出是一樣的。

我不知道「-muclibc」是否工作正常,因爲在我的Ubuntu機器上,我沒有找到關於libc.so.0的任何內容,都沒有找到uclibc。

[email protected]:/# find/-name libc.so.* -print 
/usr/mips-linux-gnu/lib/libc.so.6 
/lib/i386-linux-gnu/libc.so.6 
/lib/x86_64-linux-gnu/libc.so.6 
[email protected]:/# find/-name *uclib* -print 

任何想法?

謝謝,最好的問候。

+0

'-muclibc'應該做什麼?你的MIPS目標是否有libc.so? – markgz

回答

0

是的,MIPS目標具有libc.so和:

libc.so.6 != uClibc 
libc.so.6 == glibc 
libc.so.0 == uClibc 

我-muclibc編譯。

但是,我明白了! weeeeellll!

我所做的就是安裝一個老CodeSourcery的,並與靜態庫編譯如下:

# mips-linux-gnu-gcc -muclibc -mips32 -EB -static hallo.c -o hallo 

感謝,最誠摯的問候。