windows下使用cmake编译zlib与libpng libjpeg

Posted hjbf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下使用cmake编译zlib与libpng libjpeg相关的知识,希望对你有一定的参考价值。

win7下使用VS2010编译jpeglib

1、下载源代码下载地址:http://www.ijg.org/files/
    选择最新版本的windows版本压缩包,进行下载。
    jpegsr9a.zip    1042 Kb    Sun Jan 19 10:26:10 2014    Zip Compressed Data

2、解压缩压缩包,修改文件名jconfig.vc为jconfig.h

3、打开VS2010的命令行窗口
    程序菜单
        Microsoft Visual Studio 2010
        ----Visual Studio Tools
        --------Visual Studio 命令提示(2010)

4、命令行窗口,进入jpeglib解压缩后的目录
    cd C:jpeg-9

5、命令行窗口,编译jpeglib,生成libjpeg.lib
    nmake /f makefile.vc

6、使用jpeglib
    在项目的[附加包含目录]添加jpeglib目录,
    在项目的[附加库目录]添加jpeglib目录,
    在项目的[附加依赖项]添加libjpeg.lib,
    就可以在项目中使用jpeglib了。

7、注意事项
    libjpeg.lib是用c语言开发的,
    如果在C++程序里使用,需要用extern "C" { }包含一下。
    如下:
    extern "C"
    {
    #include "jpeglib.h"
    }


zlib

下载地址:http://www.zlib.net/
当前版本:1.2.8
命令行输入:

1
2
 
copy win32makefile.gcc makefile.gcc
mingw32-make -f makefile.gcc

生成libz.a文件

libpng

下载地址:http://www.libpng.org/pub/png/libpng.html
当前版本:1.6.6
打开scripts/makefile.gcc设置zlib路径:

1
2
 
ZLIBINC = ../zlib-1.2.8
ZLIBLIB = ../zlib-1.2.8

拷贝scripts/pnglibconf.h.prebuilt到源码目录,改名为pnglibconf.h
命令行输入:

1
2
 
copy scriptsmakefile.gcc makefile.gcc
mingw32-make -f makefile.gcc

生成libpng.a文件

libjpeg

下载地址:http://www.ijg.org/
当前版本:9

首先准备工具:
cmake:http://www.cmake.org/cmake/resources/software.html
zlib:http://www.zlib.net/
libpng:http://www.libpng.org/pub/png/libpng.html


解压cmake并进入到:F:常用工具C++Toolcmake-3.5.0-win32-x86in(例如)然后待命 ID:1。
解压zlib128 libpng16到D:Libraries(例如) 然后待命 id:2。


先编译zlib,因为libpng依赖它。
切换到1,打开cmake-gui.exe,
where is the source:D:/Libraries/zlib-1.2.8
where to build:D:Librarieszlib-1.2.8win32
点configure 选好对应编译器,然后generate


进入D:Librarieszlib-1.2.8win32 打开.sln一路编译完成。 然后将本目录下的zconf.h复制到D:Librarieszlib-1.2.8中。别问为什么。至此zlib秒编译完成。


libpng步骤如上。点config 会出来一堆错误Cmake Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) 。点击advance勾选框
在里面将ZLIB_INCLUDE_DIR=D:/Libraries/zlib-1.2.8 
ZLIB_LIBRARY=D:Librarieszlib-1.2.8win32Debugzlibd.lib。
然后点config,generate。


进入where to build 设定好的目录中:我也是libpng16/win32 双击sln 无脑编译完成。

以上是关于windows下使用cmake编译zlib与libpng libjpeg的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 zlib (MVS) 编译 php 5.5.13

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

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

Mac平台 使用CMake编译iOS lib

Windows下zlib库和libPng库的编译和使用

Windows下zlib库和libPng库的编译和使用