2010-11-20 12 views
1

LibSDL-1.2.14'ü birleştirme platformum için derlemeye çalışıyordum.
Ancak başarılı olmadı.MIPS Platformu için Çapraz Derleme LibSDL Sorununda Sorun

  1. ihracat YOLU =/opt/mips-4,3/bin:

    Bunlar

    Ben denedim adımlarımızdı
  2. libsdl-1.2.14 kaynak klasörünün içindeki gitti $ PATH.
  3. verdi bir "./configure --prefix =/usr// SDL_Lib --host = mips-linux-gnu yerel"
  4. komut "make" Gerçekleştirilen

Bu hata alınan idi:

  1. temiz
  2. olun:

    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

    Ama sonra aşağıdaki komutları vererek make dosyası yeniden

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

NOT olun: /opt/mips-4.3/mips-linux-gnu/libc/usr/include/ - Bu mips Platformu select.h dosyayı bulabileceğiniz yoldur. FD_ZERO ve FD_SET makrolarının tanımlarını içerir.

Yine aynı hatayı alıyorum.

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

Lütfen değerli işaretçilerle bana yardımcı olun.

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

Böylesi daha güvenli:

sayesinde
Şen

+0

"/ usr/include" uyarısı hakkında, sistem başlıklarınıza erişim olmadan chroot ortamından çapraz derleme yapmak genellikle daha kolaydır. – ninjalj

cevap

2

İlk olarak, PATH ilk bölümü olarak çapraz derleyici yolunu ayarlamak yok, geçen ayarlayın . İkinci olarak, tüm seçenekleri almak için ./configure --help'u çalıştırın. Ya akıllı olsaydı o hata mesajı söyleyebilirim şudur:

Sen çalışıyoruz
  1. Eğer --host bayrağı
  2. kuruyorsun beri çapraz derleme Ama herhangi değiştirmeyeceğiz nerede bulacağınızı için başka seçenekler içerir ve hedef ortamı için kütüphanelerini
  3. Ben kullanacağım// varsayılan
  4. tarafından dahil Ama bu
çapraz derleme yaparken çalışmaz ana sistem için var usr

Başka hangi yapılandırmayı kontrol edin Yapılandırma komut dosyasını .h dosyalarını (içerir) ve hedefiniz için kütüphaneleri nerede bulacağını söylemek için ayarlamanız gereken seçenekler. Bunlar genellikle indirdiğiniz çapraz derleyici ile gelir. Ayrıca, yapılandırmayı yapılandırmadan önce CROSS_COMPILE ortam değişkenini çapraz derleyici önekine ayarlamanız gerekir.Önek, çapraz derleyiciniz olarak GCC kullandığınızı varsayarak, bir çapraz derleyicide gcc'den önceki kısımdır.