SORU
16 AĞUSTOS 2012, PERŞEMBE


Nasıl android-ndk8b (x 86 arch Android) için i686-linux-android-gfortran oluşturmak için?

İ686-linux-android-gfortran *2 aşağıdaki build-gcc.sh kullanılarak inşa* denedim (androdindk-7b) ama bağlantı hatası alıyorum.h. Link ekledim.here, h, ama daha fazla hata veriyor.

Herkes 86 Android için i686-linux-android-gfortran sağlayan deneyen oldu mu?

CEVAP
28 NİSAN 2014, PAZARTESİ


https://groups.google.com/forum/#!msg/android-ndk/QR1qiN0jIpE/g0MHkhTd4YMJ olarak selalerer önerdi. Bu çalışmadım, referans amaçlı bir topluluk wiki olarak post ediyorum.

Fortran 86 Android için =================

Kılavuzu bu, Phil için çok teşekkürler dayanır: Compiling Android NDK with Objective-C-enabled gcc errors

1) İndirin ve paketten 'android-üniversite eğitim-r8c, (eski -r8b Mall of Sofia kayıp halka nedeniyle işe yaramaz.' Android Mall of Sofia h!): http://dl.google.com/android/ndk/android-ndk-r8c-linux-x86.tar.bz2 wget

2) bir klasör adı verilen bir yerde Oluşturmak 'araçları-src (klasör-üniversite eğitim-r8c android içinde örneğin)', 'cd' bu yeni klasöre

3) git ('yum git' ya da her neyse..) yükleme ve indirme yüklü olduğundan emin Olun araç zinciri kaynaklar:

  git clone https://android.googlesource.com/toolchain/build.git
  git clone https://android.googlesource.com/toolchain/gmp.git
  git clone https://android.googlesource.com/toolchain/gdb.git
  git clone https://android.googlesource.com/toolchain/mpc.git
  git clone https://android.googlesource.com/toolchain/mpfr.git
  git clone https://android.googlesource.com/toolchain/expat.git

4) klasör Oluştur 'binutils', 'cd', bu dizin için, paketten binutils-2.23: wget ftp.gnu.org/gnu/binutils/binutils-2.23.tar.gz tar -tar xvzf binutils-2.23.tar.gz Şimdi bir klasör araçları-src/binutils-2.23 binutils/olmalıdır

5) klasör Değiştirmek için araç zinciri-src/Makefile oluşturmak.hat değiştirme: --with-gnu-with-gnu-ld ---dil etkinleştir=c --c için --with-gnu-with-gnu-ld ---dil etkinleştir=c,c ,fortran

6) dosya android-ndk-r8c/build/tools/build-mingw64-toolchain.sh bu satırı değiştirin: var_append GCC_CONFİGURE_OPTİONS "---dil etkinleştir=c,c " için var_append GCC_CONFİGURE_OPTİONS "---dil etkinleştir=c,c ," . fortran

7) dosyası android-ndk-r8c/build/tools/build-gcc.sh bu satırı değiştirin: =$EXTRA_CONFİG_FLAGS EXTRA_CONFİG_FLAGS" --disable-libquadmath devre dışı eklentisi--" için =$EXTRA_CONFİG_FLAGS EXTRA_CONFİG_FLAGS" --disable-libquadmath --disable-libquadmath-destek devre dışı eklenti"

8) dosyası android-ndk-r8c/build/tools/build-host-gcc.sh bu satırı değiştirin: =$ARGÜMANLAR ARGÜMANLAR" ---dil etkinleştir=c,c " için =$ARGÜMANLAR ARGÜMANLAR" ---dil etkinleştir=c,c ,fortran" Ve satırı değiştirin =$ARGÜMANLAR ARGÜMANLAR" --disable-libquadmath devre dışı bırakmak için eklenti devre dışı bırakmak ---libitm --disable-bootstrap--" için =$ARGÜMANLAR ARGÜMANLAR" --disable-libquadmath --disable-libquadmath-destek devre dışı-eklenti devre dışı bırakmak ---libitm --disable-bootstrap"

9) Yeni araç zinciri Oluşturmak: /your/path/to/android-ndk-r8c/build/tools/build-gcc.sh -j1 --gmp-version=5.0.5 --mpfr-version=2.4.2 --mpc-version=0.8.1 --binutils-version=2.23 --gdb-version=7.3.x //yol//araç zinciri-src /yol///android-üniversite eğitim-r8c 86-4.7 (mesajlar merak etme 'ifade: uyarı: unportable BRE:')

10) Ve ekran, Rab için bir şekilde bu dua önünde dizlerinin git sayısız komut dosyalarını yapılandırmak kimse gereken çekler, çirkin kabuk bir dil kullanarak yapıyor girinti soldan sağa gidiyor, beyin, aşçılar bir şekilde yönetmek derleme çok küçük dosyaları trilyonlarca (10% zaman geçirdi, böylece derleme ve GCC başlayan ), ve ilerleme izlerken bir saat sonra tail -F /Mall of Sofia-Kullanıcıadınız yapı//araçları/config tmp/.günlük araç zinciri sihirli bir şekilde hazır olacak. Android-üniversite eğitim-r8c/toolchains klasöründe bulabilirsiniz.

11) son olarak, 'cd' klasörüne '///yolu/android-üniversite eğitim-r8c//86-4.7/hazır linux-86/i686-linux-android toolchains/' ve bu komutu çalıştırın: ln-s ../libexec libexec Bu komut olmadan, g hata iletisi yükseltir olabilir "g : ölümcül hata: -sigorta-linker-eklenti, ama liblto_plugin.böylece bulunamadı". Trace kullanarak, g yanlış klasörde görünüyor, ama link buldum yukarıdaki dosya liblto_plugin bulmak sağlar.yine de çok.

Ve işte Google bu sayfayı bulur böylece birkaç ders yolda öğrendim,:

*) Derleme hızlandırmak için, kaldırabilirsiniz-j1''. Ama sadece aldıktan sonra birden fazla CPU çekirdeği paralel yapı bildirildi beri bir kez çekim yapmak için ek sorunlara neden.

* ) "Bağlantı testleri GCC_NO_EXECUTABLES" ortaya çıktı sonra izin verilmez hata iletisi bağlama 86 (KOL çalışır) için başarısız olduğunda. Sebebi GCC içermez. uygun ANDROİD_STARTFİLE_SPEC ve ANDROİD_ENDFİLE_SPEC gcc-4.6.1/linux-android gcc/config/.h. GCC 4.6.1 sadece KOL için onları belirtir, ama değil i386, GCC 4.8.0 bilgi ancak yok. Bu GCCs Google da,indirilen bu yüzden en iyi Google GCC kullanın.

*) Hata iletisi "ölümcül hata: bağlantı.h: böyle bir dosya ya da dizin" de olur Google GCC (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50877)görünüşe göre ile ek dilleri etkinleştirmeden sadece objc veya fortran gibi. Hata iplik burada: http://gcc.gnu.org/ml/gcc-bugs/2012-08/msg00494.html CABASI bağlantı vardır.android-üniversite eğitim-r8b/android-9/baş cabası/usr platformları//h bulunur Android-üniversite eğitim-r8c, link.h şimdi de android-9/arch-86/mevcut usr//bağlantı vardır.h, bu hata düzeltildi.

*) Hata iletisi "ölümcül hata: quadmath_weak.h: bir dosya ya da dizin":böyle Ayrıca, en son sadece Googles GCC 4.7 kullanmaya devam edebilelim-4.8 gcc ile olur. Google --disable-libquadmath, ama biz ayrıca devre dışı bırakmak ---libquadmathsupport gerek kendisi kullanır (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47648). Bu ilave yapmak zorundayız. android-ndk-r8c/build/tools/build-gcc.sh ve android-ndk-r8c/build/tools/build-host-gcc.sh

*) Hata iletisi: "hata: Pthreads libatomic oluşturmak için gereklidir" Gcc-4.8 gnu.org indirilen,KOL sürümünü oluştururken olur daha iyi Google GCCs ile kal.

*) Android-üniversite eğitim-r8c ile gelen GCC benim için işe yaramadı (hata mesajı hakkında libstdc .bu yüzden.6 da yaşlı olmak), android-üniversite eğitim-r8b bir süre çalıştı bir sorun olmadan. Android-Mall of Sofia gibi birçok ortamları desteklemelidir beri mümkün, Google'cuların yeni bir libstdc bağımlı karar neden emin değilim , ama iyi haber, kendi araçları bina sorunu çözer.

*) Genel-morestack derleme sırasında bir hata alıyorum.c değiştirin #ifdeflinux // Linux üzerinde, ilk iki gerçek zamanlı sinyaller nptl kütüphaneleri tarafından kullanılmaktadır ile tanımlı #(Abone olarak giriş) && tanımlı(linux) / / Linux üzerinde, ilk iki gerçek zamanlı sinyaller nptl kütüphaneleri tarafından kullanılmaktadır

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • celebrateubuntu

    celebrateubu

    23 Mayıs 2011
  • hanksranger

    hanksranger

    6 EKİM 2009
  • Tahir Jahi

    Tahir Jahi

    6 Mart 2006