2010-11-20 3 views
1

밉스 플랫폼 용 libSDL-1.2.14를 컴파일하려고했습니다.
그러나 성공하지 못했습니다.MIPS 플랫폼 용 libSDL을 컴파일 할 때의 문제

  1. 수출 PATH =/옵션/MIPS-4.3/빈 :

    내가 밖으로 시도 단계에 있었다
  2. 가 libSDL-1.2.14 소스 폴더 안에 갔다 $의 PATH.
  3. 가 준 "./configure를 --prefix =/USR// SDL_Lib --host = MIPS-리눅스 GNU 로컬"
  4. 는 명령 "확인"실행 된

이 오류가 수신 :

  1. 깨끗한
  2. 합니다

    cc1: warning: include location "/usr/include" is unsafe for cross-compilation
    ./src/audio/dma/SDL_dmaaudio.c: In function 'DMA_WaitAudio': ./src/audio/dma/SDL_dmaaudio.c:167: error: can't find a register in class 'COP3_REGS' while reloading 'asm'
    ./src/audio/dma/SDL_dmaaudio.c:167: error: 'asm' operand has impossible constraints make: * [build/SDL_dmaaudio.lo] Error 1

    그러나 나는 다음과 같은 명령을 제공함으로써 메이크업 파일을 재구성

  3. ./configure --prefix =/usr/local/SDL_Lib --host = mips-linux-gnu CPPFLAGS = -I/opt/mips-4.3/mips-linux-gnu/libc/usr/include/

참고합니다 /opt/mips-4.3/mips-linux-gnu/libc/usr/include/ -이 말은 MIPS 플랫폼에 대한 select.h 파일을 찾을 수있는 경로입니다. FD_ZERO 및 FD_SET 매크로의 정의가 들어 있습니다.

여전히 같은 오류가 발생합니다.

cc1: warning: include location "/usr/include" is unsafe for cross-compilation
./src/audio/dma/SDL_dmaaudio.c: In function 'DMA_WaitAudio':
./src/audio/dma/SDL_dmaaudio.c:167: error: can't find a register in class 'COP3_REGS' while reloading 'asm'
./src/audio/dma/SDL_dmaaudio.c:167: error: 'asm' operand has impossible constraints make: * [build/SDL_dmaaudio.lo] Error 1

귀중한 조언을 보내주십시오.

export PATH=$PATH:<path to cross-compiler> 

그것은이 방법이 더 안전 :

감사합니다,

+0

"/ usr/include"경고에 대해 시스템 헤더에 액세스하지 않고 chroot 환경에서 크로스 컴파일하는 것이 일반적으로 더 쉽습니다. – ninjalj

답변

2

먼저 PATH의 첫 번째 일환으로 크로스 컴파일러의 경로를 설정하지, 같은 마지막으로 설정 . 둘째, ./configure --help을 실행하여 모든 옵션을 가져옵니다. 무엇 똑똑 인 경우 해당 오류 메시지가 말할 것입니다 것은 다음

당신이하려는
  1. 당신이 --host 플래그
  2. 을 설정하고 있기 때문에 크로스 컴파일하지만 당신이 중 하나를 변경하지 않는 어디서 찾을 수 있는지에 대한 다른 옵션이 포함 대상 환경에 대한 libs와
  3. 내가 사용하는거야// 기본
  4. 으로 포함하지만 그
을 크로스 컴파일 할 때 작동하지 않습니다 호스트 시스템의 USR

다른 구성 확인 e 옵션을 사용하여 configure 스크립트에 .h 파일 (포함) 및 대상 라이브러리를 찾을 위치를 지정해야합니다. 이들은 일반적으로 다운로드하는 크로스 컴파일러와 함께 제공됩니다. 또한 을 구성하기 전에을 실행하기 전에 CROSS_COMPILE 환경 변수를 크로스 컴파일러 접두사로 설정해야합니다.크로스 컴파일러에서 GCC를 사용한다고 가정 할 때 접두사는 크로스 컴파일러에서 gcc 앞에있는 부분입니다.