make/cmake:海思himix200交叉编译zlib

Posted 10km

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了make/cmake:海思himix200交叉编译zlib相关的知识,希望对你有一定的参考价值。

因为zlib没有任何依赖库,而且代码很成熟,交叉编译还是比较简单的.

编译环境

Ubuntu 16.04 x86_64
himix2000 编译工具链

下载openssl源码

wget http://zlib.net/fossils/zlib-1.2.9.tar.gz

解压源码

tar xvf zlib-1.2.9.tar.gz

CMAKE 编译

如果你有安装cmake,可以使用cmake来完成交叉编译

cd zlib-1.2.9
mkdir build
cd build
## 在build下生成Makfile
CC=arm-himix200-linux-gcc \\
cmake .. -G "Unix Makefiles"  -DCMAKE_INSTALL_PREFIX=../../himix200-zlib-1.2.9
## 编译安装到CMAKE_INSTALL_PREFIX指定的位置
cmake --build . --target install 
  • CC 环境变量指定C编译器为himix200的交叉编译器
  • CMAKE_INSTALL_PREFIX 指定安装路径
  • –build 指定cmake生成的Makfile工程文件位置, . 即为build文件夹
  • –target 指定cmake 执行的目标 install,安装位置由CMAKE_INSTALL_PREFIX 指定

如果你有定义himix200的工具链文件也可以使用CMAKE_TOOLCHAIN_FILE指定工具链文件来完成交叉编译
参见 https://gitee.com/l0km/faceapi/blob/master/faceapi-rpc-cpp/dependencies/cmake/arm-himix200-linux.toolchain.cmake

cd zlib-1.2.9
mkdir build
cd build
## 在build下生成Makfile
cmake .. -G "Unix Makefiles" \\
         -DCMAKE_TOOLCHAIN_FILE=../../../cmake/arm-himix200-linux.toolchain.cmake \\
         -DCMAKE_INSTALL_PREFIX=../../himix200-zlib-1.2.9
## 编译安装到CMAKE_INSTALL_PREFIX指定的位置
cmake --build . --target install 
  • CMAKE_TOOLCHAIN_FILE 指定交叉编译工具链文件

make

zlib原生是用configure来完成交叉编译的,如果你当前系统没有安装cmake,可以直接执行configure来生成交叉编译工程文件(Makefile),用make执行编译安装。编译过程看起来似乎比cmake编译更简单。

cd zlib-1.2.9
# 生成Makefile
CC=arm-himix200-linux-gcc ./configure --prefix=../../himix200-zlib-1.2.9
# 编译Makefile
make
# 安装到 --prefix 指定的路径
make install
  • CC 环境变量指定C编译器为himix200的交叉编译器
  • –prefix 指定安装路径

以上是关于make/cmake:海思himix200交叉编译zlib的主要内容,如果未能解决你的问题,请参考以下文章

海思 himix200交叉编译openssl

海思 himix200交叉编译openssl

海思交叉编译器安装

经验分享华为海思Hi35xx系列ARM32交叉编译opencv

海思平台osdrv 顶层 Makefile 使用说明

海思平台osdrv 顶层 Makefile 使用说明