本篇主旨是编译安装mosquitto,其他的库是它的依赖库。后面我们交叉编译的程序都将放置在主机的”/usr/local/arm/”目录中,以区别主机本地的应用程序。
我的mimi2440的根文件系统是PC端VMWare上linux中的nfs,这样比较容易调试。具体位置是linux上的/work/roorfs,下文中所提到的“目标板根文件系统目录”或者“arm板根目录”就是指这个目录。
一点准备工作,在编译c-ares之前需要在主机上编译安装两个工具软件:
1)、autoconf,用来生成configure文件
https://alpha.gnu.org/gnu/autoconf/autoconf-2.68b.tar.gz
2)、libtool
https://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz
编译安装命令一如既往:
./configure
make
make install
下面正式交叉编译过程:
1、交叉编译OpenSSL
解压之后,进入OpenSSL的目录:
cd openssl-1.0.0/
./config no-asm shared --prefix=/usr/local/arm/ssl
export cross=arm-linux-
make CC="${cross}gcc" AR="${cross}ar r" RANLIB="${cross}ranlib"
make install
生成动态库如下:
把这几个动态库拷贝到目标板跟文件系统目录/usr/local/lib 中。
2、交叉编译c-ares库,因为我下载的是zip文件所以需要unzip命令解压。
unzip c-ares-cares-1_12_0.zip
cd c-ares-cares-1_12_0
./buildconf
./configure --host=arm-linux --prefix=/usr/local/arm/ares
make
make install
生成如下动态库:
把这几个动态库拷贝到目标板跟文件系统目录/usr/local/lib 中。
3、交叉编译e2fsprogs:
解压e2fsprogs-1.41.14.tar.gz后进入目录