在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中文網其他相關文章!