Câu trả lời:
Cài đặt gcc-arm-linux-gnueabi
và binutils-arm-linux-gnueabi
gói, và sau đó chỉ sử dụng arm-linux-gnueabi-gcc
thay vì gcc
biên dịch.
Bạn cần cẩn thận với hương vị của linux và binutils trên hệ thống mục tiêu của bạn. Công cụ mới nhất là hardfloat, trong trường hợp này bạn sẽ làm:
sudo apt-get install gcc-arm-linux-gnueabihf
Điều này mang lại trong môi trường biên dịch chéo hoàn chỉnh, bao gồm cả binutils.
openssl/ossl_typ.h
không tìm thấy lỗi mặc dù tôi đã cài đặt libssl-dev
.
apt-get source
, sau khi apt-get build-dep
bạn thường có thể biên dịch với dpkg-buildpackage -b -uc -us -r
Có cách nào để tạo một .deb dễ dàng cho ARM mà không cần thay đổi tệp thực hiện không?
and then just use arm-linux-gnueabi-gcc instead of gcc for compilation
không? Khi tôi biên dịch, tôi sử dụng một cuộc gọi đến make
, AFAIK, tự nhiên trỏ đến /usr/lib/gcc
hoặc một cái gì đó gần với nó. Làm thế nào tôi có thể gọi trực tiếp arm-linux-gnueabi-gcc?
CC=arm-linux-gnueabihf-gcc make ...
Nhà cung cấp hình ảnh đĩa cũng phải cung cấp một trình biên dịch chéo tương thích
Đây là phương pháp đáng tin cậy duy nhất.
Đối với RPI nói riêng, trình biên dịch chéo được cung cấp có sẵn tại: https://github.com/raspberrypi/tools và có thể được sử dụng như được giải thích tại: https://raspberrypi.stackexchange.com/questions/64273/installing-raspberry- trình biên dịch chéo / 83215 # 83215
git clone https://github.com/raspberrypi/tools
export PATH="$(pwd)/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:${PATH}"
printf '#include <stdio.h>\nint main() { puts("hello world"); }\n' > hello_world.c
printf '#include <iostream>\nint main() { std::cout << "hello world" << std::endl; }\n' > hello_world.cpp
arm-linux-gnueabihf-gcc -std=c99 -o hello_world_c hello_world.c
arm-linux-gnueabihf-g++ -std=c++11 -o hello_world_cpp hello_world.cpp
Nếu bạn chọn trình biên dịch chéo của bạn sai, điều sau đây có thể xảy ra:
Lựa chọn thay thế yêu thích của tôi là xây dựng hình ảnh của riêng bạn với Buildroot: https://stackoverflow.com/questions/47557262/how-to-doad-the-torvalds-linux-kernel-master-recompile-it-and-boot-it- wi / 49349237 # 49349237 Điều này xây dựng mọi thứ từ nguồn và đảm bảo rằng mọi thứ đều tương thích.