在 Ubuntu 上对 Raspberry Pi 进行交叉编译
要在 Ubuntu 上启用 Raspberry Pi 的交叉编译,您需要安装以下必备包:
apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
获取工具链
在您的主目录中创建一个名为 raspberrypi 的文件夹,并使用 Git 下载工具链:
git clone git://github.com/raspberrypi/tools.git
选择编译器
在 raspberrypi/tools 文件夹中选择 gcc-linaro-arm-linux-gnueabihf-raspbian 工具链。
将编译器添加到您的路径
编辑 .bashrc 文件并添加以下行:
export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
加载 PATH 更改
重新启动终端会话或运行 . ~/.bashrc 以应用 PATH 修改。
验证编译器
执行arm-linux-gnueabihf-gcc -v 以验证编译器的安装。它应该显示有关所选工具链的信息。
创建 Rootfs 和 CMake 配置
要解决缺少共享库的问题,请执行以下附加步骤:
使用 rsync 将 /lib 和 /usr 目录从 Raspberry Pi 复制到 Ubuntu 计算机上的 rootfs 目录:
rsync -rl --delete-after --safe-links [email protected]:/{lib,usr} $HOME/raspberrypi/rootfs
SET(CMAKE_SYSTEM_NAME Linux) SET(CMAKE_SYSTEM_VERSION 1) SET(CMAKE_C_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc) SET(CMAKE_CXX_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++) SET(CMAKE_FIND_ROOT_PATH $ENV{HOME}/raspberrypi/rootfs) SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
与CMake交叉编译
要使用 CMake 交叉编译程序,请在调用 CMake 时指定 CMAKE_TOOLCHAIN_FILE 变量:
cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ...
以上是如何在 Ubuntu 上交叉编译 Raspberry Pi?的详细内容。更多信息请关注PHP中文网其他相关文章!