从Ubuntu x64交叉编译Raspberry Pi(0,1,2,3)-不是简单的代码
我不明白如何从UbuntuX64交叉编译Raspberry Pi(所以,ARM)的复杂源代码。为了理解它如何处理复杂的代码,我将编译以供练习 在Raspberry Pi上,编译结束时没有任何错误 请按照以下步骤操作 一,。 在~目录中:从Ubuntu x64交叉编译Raspberry Pi(0,1,2,3)-不是简单的代码,ubuntu,makefile,arm,cross-compiling,raspberry-pi3,Ubuntu,Makefile,Arm,Cross Compiling,Raspberry Pi3,我不明白如何从UbuntuX64交叉编译Raspberry Pi(所以,ARM)的复杂源代码。为了理解它如何处理复杂的代码,我将编译以供练习 在Raspberry Pi上,编译结束时没有任何错误 请按照以下步骤操作 一,。 在~目录中: mkdir cross-compile 二,。 下载并解压缩从以下站点下载的“tools master.zip” 在~/cross compile文件夹中 三,。 移入交叉编译文件夹,然后使用以下内容创建一些文件夹: cd cross-compile mkd
mkdir cross-compile
二,。
下载并解压缩从以下站点下载的“tools master.zip”
在~/cross compile
文件夹中
三,。
移入交叉编译文件夹,然后使用以下内容创建一些文件夹:
cd cross-compile
mkdir sysroot
mkdir src
四,。
使用Rasbpian打开Raspberry Pi,然后从Ubuntu执行以下命令,以便将lib和usr文件夹从Raspbian复制到Ubuntu:
rsync -rl --delete-after --safe-links pi@xxx.xxx.xxx.xxx:/{lib,usr} $HOME/cross-compile/sysroot
其中xxx.xxx.xxx.xxx是树莓皮IP
四,。
在bashrc的末尾添加此行,以便:
nano ~/.bashrc
然后添加以下内容:
export PATH=$PATH:$HOME/cross-compile/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
五,。
运行此命令以重新加载新路径:
. ~/.bashrc
六,。
使用此命令验证编译器(未报告错误):
七,。
尝试编译源代码:
cd ~/cross-compile/src/
git clone https://github.com/libretro/picodrive.git
cd picodrive
git submodule update --init
./configure
此时,我收到了警告:
请安装libpng(libpng-dev)
但我不明白如何指向sysroot文件夹。libpng-dev安装在Raspbian上,因此它存在于以前从Raspberry Pi复制的usr或lib文件夹中
启动时如何指向正确的路径(包含Raspbian中的usr和lib文件夹的sysroot)。/configure
编译器在哪里搜索libpng dev?我这样问是因为libpng-dev安装在Ubuntu中,所以奇怪的是,它没有指向sysroot文件夹就找不到它(至少它必须在Ubuntu中找到库)
正如我之前所说,在Raspberry Pi上,编译结束时没有任何错误
你能帮帮我吗
非常感谢您的亲身经历。我不得不问。。。你真的需要这样做吗?这不是小事,而且比直接构建RPi更令人头痛。我想了解一般方法的过程,而且在Raspberry Pi上编译软件需要很多小时,有时需要2天
cd ~/cross-compile/src/
git clone https://github.com/libretro/picodrive.git
cd picodrive
git submodule update --init
./configure