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 win32\makefile.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 scripts\makefile.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++Tool\cmake-3.5.0-win32-x86\bin(例如)然后待命 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:\Libraries\zlib-1.2.8\win32
點configure 選好對應編譯器,然后generate


進入D:\Libraries\zlib-1.2.8\win32 打開.sln一路編譯完成。 然后將本目錄下的zconf.h復制到D:\Libraries\zlib-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:\Libraries\zlib-1.2.8\win32\Debug\zlibd.lib。
然后點config,generate。


進入where to build 設定好的目錄中:我也是libpng16/win32 雙擊sln 無腦編譯完成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM