linux下交叉编译

1、交叉编译工具链路径

全志V536交叉编译工具链路径:workspace/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/

1.1 系统配置交叉编译工具链路径

PATH=/home/liyueping/Code/allwinner/workspace/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin:${PATH}

或当前终端配置

export PATH=/home/liyueping/Code/allwinner/workspace/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin:${PATH}

1.2 在Makefile或CMakeList中配置交叉编译工具路径

CROSS_COMPILE := /home/liyueping/Code/allwinner/workspace/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin/

GCC= $(CROSS_COMPILE)arm-openwrt-linux-gcc
GXX = $(CROSS_COMPILE)arm-openwrt-linux-g++


./configure --enable-cross-compile --cross-prefix=arm-openwrt-linux- --target-os=linux --cc=arm-openwrt-linux-gcc --arch=arm --prefix=$PWD/_install 

2、交叉编译开源库

2.1 交叉编译FFmpeg

2.1.1 交叉编译x264

由于FFmpeg编解码库以来lx264,所以在交叉编译FFmpeg前需要首先编译x264

#x264 x264, the best H.264/AVC encoder - VideoLAN

./configure --cross-prefix=arm-openwrt-linux- --prefix=$PWD/_install --disable-asm --enable-shared --host=arm-openwrt-linux
make && make install

2.1.2 交叉编译FFmpeg

#FFmpeg GitHub - FFmpeg/FFmpeg at release/5.0
./configure --enable-cross-compile --cross-prefix=arm-openwrt-linux- --prefix=$PWD/_install --disable-asm --arch=arm --enable-shared --target-os=linux --enable-gpl --enable-libx264 --extra-cflags=-I/home/liyueping/Code/third_party/x264-master/_install/include --extra-ldflags=-L/home/liyueping/Code/third_party/x264-master/_install/lib

make && make install

2.2 交叉编译openssh

编译openssh需要zlib和openssl,所以首先编译zlib和openssl

参考:arm交叉编译 sshd服务 - 开发者知识库

2.2.1 交叉编译zlib

zlib Home Site      Index of /fossils

2.2.2 交叉编译openssl

源代码:/source/index.html

参考:openssl 交叉编译_小强强-游泳的鱼的博客-CSDN博客_openssl交叉编译

export PATH=/home/liyueping/Code/allwinner/workspace/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin:${PATH}

./Configure linux-armv4 --cross-compile-prefix=arm-openwrt-linux- --prefix=$PWD/_install

make && make install

2.2.3 交叉编译openssh

镜像地址:AARNet Mirror

/source/index.html

./configure --with-zlib=../zlib-1.2.11/_install/lib --with-ssl-dir=../openssl-1.1.1n/_install --host=arm-openwrt-linux --prefix=$PWD/_install

2.3 交叉编译osip、exosip

export PATH=/home/liyueping/Code/allwinner/workspace/prebuilt/gcc/linux-x86/arm/toolchain-sunxi-musl/toolchain/bin:${PATH}

osip编译:./configure --prefix=$PWD/../_install --host=arm-openwrt-linux

exosip编译:./configure --prefix=$PWD/../_install --host=arm-openwrt-linux --enable-openssl=no 

exosip编译时,默认使用openssl,需要显示将openssl移除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Linux交叉编译libkvspic,您需要首先安装与目标平台相应的交叉编译工具链。这个工具链包括一个交叉编译器,以及一些库和头文件,可以让您在Linux上编译出针对目标平台的可执行文件和库。 一般来说,您需要先确定目标平台的体系结构和操作系统,然后找到相应的交叉编译工具链。例如,如果您要编译针对ARM架构的应用程序,您需要安装ARM交叉编译工具链。这里我们以ARM为例,介绍一下在Linux交叉编译libkvspic的步骤: 1. 安装ARM交叉编译工具链。 您可以从ARM官网下载ARM交叉编译工具链,并按照官方指导进行安装。 2. 获取libkvspic源码 您可以从libkvspic的官方网站下载源代码包,或者从GitHub上获取最新的代码。 3. 配置交叉编译环境变量 在Linux下,您需要设置一些环境变量,以便交叉编译工具链可以正确地找到库和头文件。具体的环境变量设置方式可能会因工具链版本和Linux发行版而有所不同,您可以参考工具链的文档进行设置。 例如,假设您的ARM交叉编译工具链安装在/opt/arm-gcc目录下,您可以设置以下环境变量: export PATH=/opt/arm-gcc/bin:$PATH export CC=arm-linux-gcc export CXX=arm-linux-g++ 4. 编译libkvspic 在设置好交叉编译环境变量之后,您可以使用交叉编译工具链编译libkvspic。具体的编译命令可能会因您的源码包版本而有所不同,一般情况下,您可以在源码包的根目录下执行以下命令: ./configure --host=arm-linux --prefix=/opt/libkvspic make make install 这些命令将使用交叉编译工具链编译出针对ARM架构的libkvspic库,并将其安装到/opt/libkvspic目录下。 注意,具体的编译命令可能会因您的源码包版本而有所不同,您需要根据具体的情况进行调整。 希望这些步骤能够帮助您在Linux下成功交叉编译libkvspic。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值