全部博文(396)
分类: 嵌入式
2017-10-27 16:51:09
一:依赖第三方库的编译方法
qrencode编译需要libpng库,而libpng库依赖zlib库
1、从下载zlib库
tar xvzf zlib-1.2.8.tar.gz,进入zlib-1.2.8文件夹
./configure
make
make install
2、从 下载libpng-1.6.17.tar.xz
tar xvf libpng-1.6.17.tar.xz得到libpng-1.6.17文件夹
在/home目录下创建libpng
进入libpng-1.6.17文件夹
./configure --prefix=/home/libpng
make
make install
3、从 下载qrencode-3.4.4.tar.gz
tar xvzf qrencode-3.4.4.tar.gz
设置png_CFLAGS和png_LIBS环境变量
在.bashrc文件中添加
export png_CFLAGS="-I/home/libpng/include"
export png_LIBS="-L/home/libpng/lib -lpng"
mkdir libqrencode
进入qrencode-3.4.4目录
./configure --prefix=/home/libqrencode
make
make install
安装完毕
-----------------移植 --------------------------------------------------------------------------------------------------------------------------
1、交叉编译zlib
编译平台:ubuntu14.04交叉工具链:arm-none-linux-gnueabi-4.8.3
、简介
zlib是提供用的函式库,使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多所使用。此函式库为自由软件,使用zlib授权。
2、交叉编译zlib步骤tar xvzf zlib-1.2.8.tar.gz,进入zlib-1.2.8文件夹
mkdir /home/zlib-1.2.8-arm
#cd zlib-1.2.8
#./configure --prefix=/home/zlib-1.2.8-arm
Zlib配置是不支持--host项,交叉编译时需要手动更改Makefile,将Makfile里的gcc、ar、ranlib均加上前缀arm- none-linux-gnueabi-(可以看交叉编译工具链的安装目录下的前缀),再执行 make && make install,编译安装成功后在--prefix指定的目录下生成include、shared和lib目 录
3、交叉编译libpng步骤
#tar xvf libpng-1.6.17.tar.xz
mkdir /home/libpng-arm
#cd libpng-1.6.17
#./configure --prefix=/home/libpng-arm --host=arm-none-linux-gnueabi
出现错误:
Checking for zlibVersion in -lz ... No
问题分析:
Libpng配置是会去检测zlib库,configure时加上zlib库的路径信息即可。
#./configure --prefix=/home/libpng-arm --host=arm-none-linux-gnueabi LIBS=-L/home/zlib-1.2.8-arm/lib CPPFLAGS=-I/home/zlib-1.2.8-arm/include
配置完成后,执行make && make install,编译安装成功后在--prefix指定的目录下生成bin、include、shared和lib目录。
4.交叉编译qrencode-3.4.4.tar.gz
tar xvzf qrencode-3.4.4.tar.gz
设置png_CFLAGS和png_LIBS环境变量
在.bashrc文件中添加
export png_CFLAGS="-I/home/libpng-arm/include"
export png_LIBS="-L/home/libpng-arm/lib -lpng"
mkdir libqrencode
进入qrencode-3.4.4目录
./configure --prefix=/homel/libqrencode-arm --host=arm-none-linux-gnueabi
make
报错说libpng16not found 中的函数不行。后面看了其他的说法,qrencode不需要依赖第三方库,可以加选项 --without-tools,这个未解决。
make install
安装完毕
二:不依赖第三方库的编译方法
1、从 下载qrencode-3.4.4.tar.gz
tar xvzf qrencode-3.4.4.tar.gz
mkdir libqrencode进入qrencode-3.4.4目录
./configure --prefix=/home/libqrencode --without-tools
make
make install
安装完毕
2。交叉编译qrencode-3.4.4.tar.gztar xvzf qrencode-3.4.4.tar.gz
mkdir libqrencode-arm
进入qrencode-3.4.4目录./configure --prefix=/homel/libqrencode-arm --host=arm-none-linux-gnueabi --without-tools
make
make install
安装完毕
三:应用qrencode在qt上
2.拷贝刚才编译的qrencode.h 到当前目录
3.添加qrencode和libqrencode.so*的路径到工程中
4.复制上面的贴的代码即可编译,然后把libqrencode.so*的文件全部复制到运行的debug或release里面;