Tôi mong muốn được biên dịch và tôi muốn sử dụng các công cụ mới nhất và tốt nhất.
Trên thực tế, các công cụ mới nhất và tốt nhất không cần phải tự xây dựng. Trên Raspberry Pi Tool GitHub Rep Kho, bạn sẽ tìm thấy X86_64
và các bộ x686
công cụ cho phần mềm biên dịch chéo.
Tôi khuyên bạn nên sử dụng x86-linux64-cross-arm-linux-hardfp
toolchain, vì nó sẽ biên dịch cho Hard Floating Point, điều này sẽ dẫn đến một hệ thống nhanh hơn nhiều.
$ arm-bcm2708hardfp-linux-gnueabi-gcc --version
arm-bcm2708-linux-gnueabi-gcc-4.5.1 (Broadcom-2708) 4.5.1
Copyright (C) 2010 Free Software Foundation, Inc.
Lưu ý: Nếu bạn đang sử dụng kernel hiện có thì bạn sẽ phải sử dụng toolchain phù hợp với kernel. Các ứng dụng HardFP sẽ không hoạt động trên kernel SoftFP.
Để sử dụng toolchain, chỉ cần kiểm tra kho lưu trữ:
git clone https://github.com/raspberrypi/tools.git --depth 1
Các --depth
tham số này sẽ có nghĩa là bạn không cần phải chờ đợi đối với lịch sử kho được tải về cũng như (kể từ khi chúng tôi wont được sử dụng nó).
Sau đó thêm các nhị phân vào biến PATH của bạn:
export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH
Hoặc để duy trì PATH:
echo "export PATH=~/tools/arm-bcm2708/x86-linux64-cross-arm-linux-hardfp/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
Để biên dịch với chuỗi công cụ, bây giờ bạn có thể thêm CROSS_COMPILE
tham số. Ví dụ: khi chạy make
:
make CROSS_COMPILE=arm-bcm2708hardfp-linux-gnueabi-
Hoặc để làm điều này dễ dàng hơn, bạn có thể lưu biến bashrc
lại:
echo "export TARGET=arm-bcm2708hardfp-linux-gnueabi" >> ~/.bashrc
source ~/.bashrc
và bây giờ sử dụng biến khi biên dịch:
make CROSS_COMPILE=${TARGET}