zlib、libzip、 libzippp 庫編譯(windows + cmake + vs2013)

來源:互聯網
上載者:User

標籤:1.2   ast   ram   記錄   workspace   作者   其他   根目錄   pac   

"libzipp" 這庫是基於 "libzip" 之上封裝的,而 "libzip" 又是基於 "zlib"庫封裝的,所以要編譯 "libzipp" 庫就要先編譯其他兩個庫。
下載準備:
"zlib-1.2.8.tar.gz"
"libzip-1.0.1.tar.gz"
"libzippp-master.zip"




編譯環境:cmake + vs2013 ,   安裝好cmake和 "VS2013 x86 本機工具命令提示" 工具(安裝vs2013的時候已經有)
命令列環境使用的是[VS2013 x86 本機工具命令提示],“開始”->"Visual Studio 2013"->"Visual Studio Tools"->"VS2013 x86 本機工具命令提示"


以下是本次編譯過程,記錄詳細流程以備忘:


一、編譯 zlib 庫
1、將解壓出來的 "zlib-1.2.8" 檔案夾拷貝到 "E:\BuildWorkspace\" ;
2、命令列進入此路徑,命令:[mkdir build] (建立 build 檔案夾) ;
3、進入剛建立的"build"檔案夾,命令:[cmake .. -G"Visual Studio 9 2008" -DCMAKE_INSTALL_PREFIX="install"]  (構建工程)
4、在"build"目錄下就有了工程檔案,開啟工程,編譯"ALL_BUILD"項目產生庫檔案,編譯"INSTALL"項目,會執行工程目錄下的"cmake_install.cmake"指令碼,最終在"build"目錄下產生"install"檔案夾,標頭檔、庫檔案等都在檔案夾內了。


二、編譯 libzip 庫
1、將解壓出來的"libzip-1.0.1"檔案夾拷貝到"E:\BuildWorkspace\" ;
2、命令列進入此路徑,命令:[mkdir build] (建立 build 檔案夾) ;
3、進入剛建立的"build"檔案夾,命令:[cmake .. -G"Visual Studio 9 2008" -DCMAKE_PREFIX_PATH="../zlib-1.2.8/build/install"]  (構建工程)
4、在"build"目錄下就有了工程檔案,開啟工程,編譯"ALL_BUILD"項目,到這裡就報錯了(最少我在這裡是報錯了) ;
5、將"libzippp-master\lib\libzip-1.0.1-windows-patch.zip"的壓縮檔解壓出來,根據同名檔案夾替換掉相應的檔案,在執行第4步,OK ;
6、此時如果直接編譯"INSTALL"項目,會產生到C盤根目錄下"C:/Program Files (x86)/libzip"檔案夾中,為了讓它產生到"build\install"中,這裡需要修改工程目錄下的"cmake_install.cmake"指令檔的第5行:
"set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/libzip")" 改成
"set(CMAKE_INSTALL_PREFIX "E:\BuildWorkspace\libzip-1.0.1\build/install")",
7、編譯"INSTALL"->OK ;


三、編譯 libzippp 庫
1、將解壓出來的"libzippp-master"檔案夾拷貝到"E:\BuildWorkspace\" ;(PS:上面編譯 libzip 庫中的第五步就是在從此檔案夾中找的"libzippp-master\lib\libzip-1.0.1-windows-patch.zip")
2、命令列進入此路徑,命令:[mkdir build] (建立 build 檔案夾) ;
3、為了方便 libzippp 項目的依賴關係,懶得修改,直接按照作者意思,把上面的 "libzip-1.0.1" 和 "zlib-1.2.8" 檔案夾整個拷貝到 "E:\BuildWorkspace\libzippp-master\lib\" 目錄中(當前,前提是已經完成了上面的編譯工作);
4、進入剛建立的"build"檔案夾,命令:[cmake .. -G"Visual Studio 12" -DCMAKE_PREFIX_PATH="lib/zlib-1.2.8/build/install"] (構建工程)
5、在"build"目錄下就有了工程檔案,開啟工程,編譯"ALL_BUILD"項目,OK!


PS:實測,用vs2008使用這庫會有問題(可能是因為是用vs2013編譯的緣故),後來乾脆直接使用 libzippp 的類檔案,不編譯成庫使用,OK!

zlib、libzip、 libzippp 庫編譯(windows + cmake + vs2013)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.