因为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 指定安装路径