linux下zlib安装笔记
1.首先在官网上下载源码zlib-1.2.8.tar.gz,并放到本地目录,如Y:\qimage\zlib\下
2.执行命令 tar zxvf zlib-1.2.8.tar.gz 进行解压,会在本地目录下生成zlib-1.2.8目录,然后进入该目录
3.执行命令 ./configure --prefix=../zlib-out 来生成makefile,--prefix用于指定之后库的输出路径
4.执行命令 make && make install,结束后就可以在../zlib-out下查看输出
交叉编译zlib
1.首先在官网上下载源码zlib-1.2.8.tar.gz,并放到本地目录,如Y:\qimage\zlib\下
2.执行命令 tar zxvf zlib-1.2.8.tar.gz 进行解压,会在本地目录下生成zlib-1.2.8目录,然后进入该目录
3.执行命令 ./configure --prefix=../zlib-out 来生成makefile,--prefix用于指定之后库的输出路径
4.修改Makefile里的CC CPP LDSHARED AR,将对应的gcc或ar前加上arm-none-linux-gnueabi-前缀
5.执行命令 make && make install,结束后就可以在../zlib-out下查看输出
linux下png安装笔记
方法一:
1.首先在官网上下载源码libpng-1.6.12.tar.gz,并放到本地目录,如Y:\qimage\libpng\下
2.执行命令 tar zxvf libpng-1.6.12.tar.gz 进行解压,会在本地目录下生成libpng-1.6.12目录,然后进入该目录
3.因为之前在编译安装zlib的过程中通过prefix=指定目录,因此如果直接使用./configure 就会出现zlib not found的错误,因此采用另一种方法
4.直接使用script目录下已经提供的makefile,因为在linux下编译,所以找到makefile.linux并拷贝到libpng-1.6.12目录下,重命名为makefile
5.因为我们zlib是安装到自己指定的目录,所以需要修改makefile文件,即指定ZLIBLIB=/home/liuf/qimage/zlib/zlib-out/lib
ZLIBINC=/home/liuf/qimage/zlib/zlib-out/include
6.如果需要将png也安装到我们指定的目录,则可以修改prefix,如prefix=/home/liuf/qimage/libpng/png-output
7.执行命令 make,如果出现zlib找不到的话,修改makefile,在90几行的.c.pic.o:下改为$(CC) -c $(CPPFLAGS) $(CFLAGS) -fPIC -o $@ $*.c,即添加$(CPPFLAGS)
8.再执行make && make install 安装通过
9.执行make test,可测试通过
方法二:
1.首先在官网上下载源码libpng-1.6.12.tar.gz,并放到本地目录,如Y:\qimage\libpng\下
2.执行命令 tar zxvf libpng-1.6.12.tar.gz 进行解压,会在本地目录下生成libpng-1.6.12目录,然后进入该目录
3.因为之前在编译安装zlib的过程中通过prefix=指定目录,因此如果直接使用./configure 就会出现zlib not found的错误,因此采用另一种方法
4.执行命令 ./configure --prefix=/home/fgwd/qimage/libpng/libpng-out/ LIBS=-L/home/fgwd/qimage/zlib/zlib-out/lib CPPFLAGS=-I/home/fgwd/qimage/zlib/zlib-out/include
5.再执行make && make install 安装通过
6.执行make test,可测试通过
ps:使用方法二不会出现ldd 可执行程序找不到库的情况
交叉编译png
1.首先在官网上下载源码libpng-1.6.12.tar.gz,并放到本地目录,如Y:\qimage\libpng\下
2.执行命令 tar zxvf libpng-1.6.12.tar.gz 进行解压,会在本地目录下生成libpng-1.6.12目录,然后进入该目录
3.执行命令 ./configure --prefix=/home/fgwd/qimage/arm/libpng/libpng-out/ CC=arm-none-linux-gnueabi-gcc --host=arm-none-linux-gnueabi LIBS=-L/home/fgwd/qimage/arm/zlib/zlib-out/lib CFLAGS=-I/home/fgwd/qimage/arm/zlib/zlib-out/include CPPFLAGS=-I/home/fgwd/qimage/arm/zlib/zlib-out/include (可以将CFLAGS去掉只用CPPFLAGS,反之则不行)
4.再执行make && make install 安装通过
linux下jpeg安装笔记
交叉编译libjpeg
1.首先在官网上下载源码jpegsrc.v9a.tar.gz,并放到本地目录,如Y:\qimage\libjpeg\下
2.执行命令 tar zxvf jpegsrc.v9a.tar.gz 进行解压,会在本地目录下生成jpeg-9a目录,然后进入该目录
3.执行命令 ./configure CC=arm-none-linux-gnueabi-gcc --prefix=/home/fgwd/qimage/arm/libjpeg/libjpeg-out/ --host=arm-none-linux-gnueabi
4.再执行make && make install 安装通过
5.执行命令 cd /home/fgwd/qimage/arm/libjpeg/libjpeg-out/lib,通过file libjpeg.so.9.1.0查看该动态库是否为arm平台的
如果遇到编译或链接时,库找不到,可以参考下面的链接:
http://www.cnblogs.com/bourneli/archive/2012/04/27/2474103.html
http://gcc.gnu.org/ml/gcc-help/2005-12/msg00017.html
http://stackoverflow.com/questions/6562403/i-dont-understand-wl-rpath-wl
http://my.oschina.net/shelllife/blog/115958
window下编译zlib和png库
1.下载源码zlib-1.2.8.tar.gz和libpng-1.6.12.tar.gz在一个目录下并解压,然后把解压后的zlib-1.2.8重命名为zlib
2.进入libpng-1.6.12/projects/visualc71
3.需安装vs2005或vs2008,双击libpng.sln
4.选择debug、release或lib、dll进行编译工程,编译的时候将pngtest工程unload调,否则会出现编译错误
5.为了简便,在D盘下创建一个目录xImage,将libpng.lib、zlib.lib、png.h pnglibconf.h pngconf.h zlib.h zconf.h放到该目录下
6.打开我们的工程,点击Tools-->Options-->Projects and Solutions-->VC++ Directories,在右侧的Include Files和Library Files里添加第5步创建的目录
7.点击项目右键属性-->Configuration Properties-->Linker-->Input-->Additional Dependencies,将libpng.lib zlib.lib添加进去
window下编译libjpeg库
1.进入http://www.ijg.org,选windows format,下载libjpeg
2.解压后将jconfig.vc重命名为jconfig.h
3.打开vs2005的命令行模式,在命令行模式下进入jpeg解压后的目录
4.在该目录下执行 nmake /f makefile.vc nodebug=1,成功后,目录下会生成一个libjpeg.lib的文件