Saya punya aplikasi besar yang saya tulis. Saya berhasil mengkompilasi aplikasi dalam skenario berikut:
- dalam kompilasi asli untuk host i386 yang menjalankan Ubuntu 12.04
- asli pada PandaBoard yang menjalankan Ubuntu 12.04 (ini membutuhkan waktu lama)
- menggunakan Qemu dan chroot pada PC host untuk target armhf PandaBoard (ini membutuhkan waktu sangat lama)
Saya ingin mengkompilasi silang aplikasi pada host i386 untuk dijalankan pada target seperti PandaBoard untuk menyelesaikan pembangunan secara tepat waktu. Sejauh ini upaya yang dilakukan menggunakan rantai alat arm-linux-gnueabihf di repositori telah menghasilkan binari yang tidak berjalan dengan benar. Pada tahap ini, saya tidak punya rencana untuk mengemas perangkat lunak.
Apa cara yang disarankan untuk mencapai kompilasi silang yang sukses?
software-installation
cross-compilation
Gua Jonathan
sumber
sumber
Jawaban:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingMultiArch
https://wiki.ubuntu.com/MultiarchCross
Ubuntu memiliki cross-toolchain,
apt-get install gcc-arm-linux-gnueabihf
tetapi bekerja pada toolchain gen berikutnya dibahas di sini: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/Ada sejumlah solusi yang diperlukan pada saat ini. Misalnya, jika Anda menggunakan tautan tidak langsung (tercakup dalam halaman linaro wiki.) Anda juga harus menghindari menjalankan binari asing segera setelah kompilasi.
Juga, ini benar-benar paling matang dengan autotool.
Saya mendapatkan paket saya untuk melakukan cross-compile dengan cukup cepat.
sumber