OK3568开发环境配置-Ubuntu-22.04

OK3568 官方资料和 Ubuntu22.04 虚拟机镜像如下：
通过网盘分享的文件：OK3568 - 资料 - 开发虚拟机

1 系统镜像编译

下载网盘里的源码，解压后即可得到 OK3568_Linux_fs.tar。解压 OK3568_Linux_fs.tar和dl.tar.bz2，将 dl 移动到 OK3568_Linux_fs/buildroot 后可加速编译系统镜像。
编译系统镜像的教程如下：
04_相关代码编译

2 交叉编译安装软件

交叉编译器路径为 OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-，在 ~/.bashrc 中配置环境变量 export PATH="/home/forlinx/3568/OK3568_Linux_fs/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH"。

2.1 ffmpeg-2.4.14

在源码文件夹里首先运行 configure 脚本。

Copy
./configure \
--prefix=/usr/local \
--cross-prefix=aarch64-none-linux-gnu- \
--arch=aarch64 \
--target-os=linux \
--enable-cross-compile \
--disable-static \
--enable-shared \
--pkg-config-flags="--static"

--prefix=/usr/local: 指定 FFmpeg 在目标机上的安装路径。

--cross-prefix=aarch64-none-linux-gnu-: 最关键的参数，它告诉 configure 脚本使用 aarch64-none-linux-gnu- 作为所有编译器和工具的前缀。

--arch=aarch64: 指定目标 CPU 架构。

--target-os=linux: 指定目标操作系统为 Linux。

--enable-cross-compile: 明确启用交叉编译模式。

--disable-static: 只编译动态库（.so 文件），这通常能减小最终文件的大小。

--enable-shared: 编译动态链接库。

--pkg-config-flags="--static": 避免在交叉编译时，pkg-config 尝试在宿主机上查找动态库。
配置成功后执行 make 和 sudo make install，编译好的库文件、头文件和可执行文件安装到 /usr/local 目录下。

2.2 log4cplus-2.0.7

configure 命令如下：

Copy
./configure --host=aarch64-none-linux-gnu --prefix=/usr/local

--host=aarch64-none-linux-gnu：这是最重要的参数，它确保 make 命令会调用正确的交叉编译器。

--prefix=/usr/local：这个参数指定了 log4cplus 在目标机上的安装路径。如果未指定，默认也是 /usr/local。

2.3 zeromq-4.0.8

configure 命令如下：

Copy
./configure --host=aarch64-none-linux-gnu --prefix=/usr/local --enable-shared --disable-static

--host=aarch64-none-linux-gnu: 最关键的参数，它告诉 configure 脚本，您正在为 aarch64 架构进行交叉编译。

--prefix=/usr/local: 指定 ZeroMQ 在目标机上的安装路径。

--enable-shared: 编译动态链接库（.so 文件）。

--disable-static: 不编译静态库（.a 文件），以减小最终文件的大小。