Saat membuat Proyek C ++ baru di Eclipse, saya ditanya tentang toolchain.
Apa perbedaan praktis antara alat-alat ini - Cross GCC
dan Linux GCC
. Dalam keadaan apa menggunakannya? Apakah ada hubungannya dengan apakah proyek akan dikompilasi baik di mesin linux dan windows?
Dalam salah satu jawaban kita dapat membaca:
Umumnya kompiler silang adalah kompiler yang menghasilkan kode untuk sistem yang berbeda dari milik Anda.
jadi jika saya mengkompilasi proyek pada mesin target menggunakan makefiles sendiri, tidak masalah opsi apa yang akan saya pilih di sini, kan?
Jawaban:
Artikel Cross compiler di wikipedia cukup bagus. Umumnya kompiler silang adalah kompiler yang menghasilkan kode untuk sistem yang berbeda dari milik Anda. Biasanya ini berarti arsitektur perangkat keras target yang berbeda, tetapi juga dapat berarti sistem operasi target yang berbeda (atau keduanya).
Secara teoritis Anda dapat menggabungkan ini dan menggunakan cross-compiler pada arsitektur A 1 dan sistem operasi S 1 untuk membangun cross-compiler yang akan berjalan pada arsitektur A 2 di bawah sistem operasi S 2 dan menghasilkan kode untuk sistem operasi S 3 pada arsitektur A 3 .
Seperti yang disebutkan Ulrich dalam komentarnya, Linux GCC harus menjadi kompiler "asli" Anda (yaitu untuk target yang sama).
sumber