从Ubuntu x64交叉编译Raspberry Pi(0,1,2,3)-不是简单的代码

从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

我不明白如何从UbuntuX64交叉编译Raspberry Pi(所以,ARM)的复杂源代码。为了理解它如何处理复杂的代码,我将编译以供练习

在Raspberry Pi上,编译结束时没有任何错误

请按照以下步骤操作

一,。 在~目录中:

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