歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> VC6 下 libpng 庫的編譯與初步使用

VC6 下 libpng 庫的編譯與初步使用

日期:2017/3/1 9:54:14   编辑:Linux編程

目錄

  • libong 庫的介紹
  • VC6 下 libpng 的編譯
  • 下載 libpng 與 zlib
  • 進行編譯
  • 得到 .lib 文件
  • 初步使用
  • 對 VC6 進行設置
  • 將 .lib 文件添加到工程設置中
  • 使用 libpng 檢測文件是否為 png 格式的圖像
  • libpng 官方手冊

一、libpng 庫的介紹

libpng 用於處理 png 格式的圖片, 是一套比較完善的 png 圖片處理庫, 免費、開源, 因此受到了很高的好評。(可能有牆,大家懂得)

libpng 的詳細介紹:請點這裡
libpng 的下載地址:請點這裡

目前最新版本的 libpng 為 1.61。

二、VC6 下 libpng 的編譯

1. 下載 libpng 與 zlib

筆者所用的IDE依然為 Visual Studio 6.0 ( VC++ 6 ), 所以這裡以 VC6 下的編譯\使用來作介紹。

首先下載兩個庫, 一個是 libpng , 另一個則是 zlib 庫, zlib 庫是一套用於壓縮數據的庫, libpng 借助了該庫作為壓縮引擎, 也就是說, libpng 依賴於 zlib 庫。

關於這兩個庫的版本選擇, 最新版本的 libpng 和 zlib 都沒有提供適用於 VC6 的工程文件, 但是提供的有 vc 9\10 的, 當然, 新版本的 VS 可以將舊的工程文件來進行轉換, 但是反過來不行。 因此要下載到適合 VC6 進行編譯的版本。

筆者的選擇是:

  • libpng 1.4.12 版本, 下載地址: http://sourceforge.net/projects/libpng/files/libpng14/1.4.12/lpng1412.zip/download
  • zlib 1.2.3 版本, 下載地址: http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib123.zip/download

如果使用的是更高版本的VS, 那麼你也可以從該頁 http://sourceforge.net/projects/libpng/files/ 選擇適合你的 libpng 和 zlib。

2. 進行編譯

將下載到的文件( lpng1412.zip、zlib123.zip )進行解壓後(任意目錄, 例如: E:\\lpng1412), 進入到 libpng 的解壓目錄, 找到 libpng 的工作空間文件, 位於:

\\lpng1412\\projects\\visualc6\\libpng.dsw

將該工作區文件打開時, VC6會提示要找到 zlib 庫的工程文件, 如圖:

這時通過文件選擇對話框找到 zlib 工程文件 zlib.dsp 所在的位置後, 點OK進行確定。 zlib 工程文件位於 zlib 解壓文件夾中的:

\\zlib123\\projects\\visualc6\\zlib.dsp

此時工作區中有三個項目, libpng、pngtest、zlib, 在組建工具欄中, 如圖:

選擇需要的編譯方式, 如果你的 VC6 常用工具欄中沒有如圖所示的選項, 右鍵工具欄的空白處, 在彈出的菜單中選擇 "Build" 將該工具欄調出, VC6安裝時默認只有一個 "Build MiniBar"。

一般情況下, 我們需要以 .lib 方式進行調用, 所以這裡使用 Win32 LIB Debug 和 Win32 LIB Release 兩種模式對 libpng 各進行一次編譯, 也就得到了兩個 lib 版本, 一個份 debug 的, 一份是 release 的。

如果需要以 dll 方式進行調用( Win32 DLL Debug\Release ), 或者打算給 VB 進行調用( Win32 DLL VB ), 那麼也可以根據自己需要選擇其他的編譯方式。

3. 得到 .lib 文件

編譯完成後, 如果沒有出現錯誤, 此時在 libpng 和 zlib 庫的工程文件所在的文件夾下均會出現 Win32_LIB_Debug 和 Win32_LIB_Release 兩個文件夾, 檢查這4個文件夾中是否有以下4個文件:

  • 1>. zlib 庫:
    • zlibd.lib ( Win32_LIB_Debug 模式生成 )
    • zlib.lib ( Win32_LIB_Release 模式生成 )
  • 2>. libpng 庫:
    • libpngd.lib ( Win32_LIB_Debug 模式生成 )
    • libpng.lib ( Win32_LIB_Release 模式生成 )

如果存在, 恭喜, 編譯完成。

接下來請看第2頁精彩內容: http://www.linuxidc.com/Linux/2013-08/88654p2.htm

Copyright © Linux教程網 All Rights Reserved