Saya ingin mengkompilasi silang bahasa-bahasa C-keluarga (C, C ++, Objective-C, dan Objective-C ++) ke Raspberry Pi menggunakan Dentang dan LLVM pada komputer build dari arsitektur yang berbeda. Bagaimana saya bisa melakukan ini?
Saya ingin mengkompilasi silang bahasa-bahasa C-keluarga (C, C ++, Objective-C, dan Objective-C ++) ke Raspberry Pi menggunakan Dentang dan LLVM pada komputer build dari arsitektur yang berbeda. Bagaimana saya bisa melakukan ini?
Jawaban:
Baru saja menyelesaikan artikel saya, kompilasi Cross untuk Raspberry dari Sierra , tentang hal ini. Di bawah Mac OS Sierra. Tapi untuk dentang itu penting.
Dalam artikel ini saya telah berbagi pengalaman (yang membuat saya menderita beberapa hari). Semoga bermanfaat. Singkatnya, yang harus Anda lakukan adalah menentukan rootfs dan target triple:
path/to/clang --target=arm-linux-gnueabihf --sysroot=/some/path/arm-linux-gnueabihf/sysroot my-happy-program.c -fuse-ld=lld
Saya menambahkan -fuse-ld=lld
opsi, karena jika tidak, dentang akan mencoba mencari warisan binutils.
Saya mengikuti artikel ini dan tampaknya berfungsi dengan baik untuk program sepele (konsol / string / hal matematika, tidak banyak flag optimasi). Saya menggunakan crosstool-ng ver 1.19 pada laptop x86-64 yang menjalankan ZenWalk 7.0
Tampaknya juga ada posting ini di SO, yang mungkin membantu (belum sepenuhnya membacanya).