2016-07-13 1 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 

그러나, 출력은 동일합니다.

내 우분투 컴퓨터에서 libc.so.0과 uclibc에 대해 아무 것도 찾을 수 없기 때문에 "-muclibc"가 잘 작동하는지 알 수 없습니다.

[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 !!

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

감사합니다, 안부 : 내가 무슨 짓을

오래된 코드 소서리를 설치하고 같은 정적 라이브러리로 컴파일하는 것입니다.