• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            7z系列之一:7zip SDK中C++模塊的編譯

            轉(zhuǎn)載自:http://www.cnblogs.com/greenerycn/archive/2011/10/26/7zSDK_cpp_compile.html

            最近想使用7zip壓縮,就研究了下7zip的SDK,將過程留下,分享與大家。這是本篇系列的第一篇,主要內(nèi)容就是編譯。

             

            7zip

             

            嚴(yán)格來說,7zip這個(gè)詞是有問題的,因?yàn)楣俜绞褂昧瞬煌脑~來表達(dá)恰當(dāng)?shù)暮x,如下圖所示:

            image

            因?yàn)檫@次研究的主要目的就是在C++中解壓縮7z格式文件,為了方便下文就稱為7zip。

             

            SDK

             

            下載地址:http://www.7-zip.org/sdk.html

            目前版本:9.20  (2010-11-18 更新)

            文件名:lzma918.tar.bz2

            大小:500KB

             

            7zip SDK中的C++模塊

            7zip中提供了多種語言支持, 平常使用多的是C的源代碼和C++版本編譯后基于COM的7z.dll.這個(gè)DLL文件并不是直接編譯出來的,而是SDK中某個(gè)編譯后的DLL文件改名而來。SDK中文件說明在lzma.txt中,大家可以閱讀一下加深了解。

             

            將下載的lzma918.tar.bz2解壓后,結(jié)構(gòu)如下:

            image

             

            C++相關(guān)的文件都在CPP目錄中,編譯相關(guān)的文件位置如下:

            7zipSDK\CPP\7zip\Bundles\

             

            幾個(gè)目錄功能如下:

            Alone7z 編譯后是7z.exe, 只支持7z/LZMA/BCJ/BCJ2算法
            Format7zExtractR 編譯后是7zxr.dll, 提供7z/LZMA/BCJ/BCJ2的解壓縮
            Format7zR 編譯后是7zr.dll, 提供7z/LZMA/BCJ/BCJ2的壓縮和解壓縮
            LzmaCon 編譯后是lzma.exe, 只提供LZMA的壓縮和解壓縮

             

            編譯7zxr.dll

            幾個(gè)目錄下模塊編譯過程差不多,這里以編譯7zxr.dll為例。7zip SDK中CPP模塊并沒有提供VS對應(yīng)的VCProj或者Sln文件,而是使用的make文件,因此需要在命令行下使用nmake來編譯。

            在不同版本的VS中,提供了不同版本的nmake文件,因此編譯前需要調(diào)用對應(yīng)的VS參數(shù)設(shè)置命令來設(shè)置,以裝在C盤Program Files下的VS2005為例:

            執(zhí)行:

            "c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"

            然后進(jìn)入對應(yīng)的7zipCPP模塊目錄中,執(zhí)行nmake指令:

            nmake

            參考如下圖:

            image

             

            編譯后的文件在O目錄中,文件名為7zxr.dll

            image

            posted on 2014-03-25 02:43 楊粼波 閱讀(2112) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲国产综合久久天堂| 久久只这里是精品66| 国产精品久久99| 久久精品成人欧美大片 | 久久精品无码专区免费青青 | 精品久久久久久无码中文字幕 | 国内精品伊人久久久久影院对白| 国产精品伦理久久久久久| 精品久久久久久久国产潘金莲| 奇米影视7777久久精品| 久久精品国产亚洲精品| 麻豆成人久久精品二区三区免费| 精品国产热久久久福利| 久久精品人人做人人爽97| 亚洲人成无码www久久久| 曰曰摸天天摸人人看久久久| 久久精品中文字幕一区| 久久亚洲国产成人影院网站| 成人免费网站久久久| 伊人久久大香线蕉综合影院首页| 国产一区二区三精品久久久无广告| 中文无码久久精品| 久久亚洲精品国产亚洲老地址 | 日本久久久久亚洲中字幕| 国产一区二区精品久久凹凸| 成人资源影音先锋久久资源网| 亚洲日韩中文无码久久| 国产香蕉久久精品综合网| 国产精品亚洲美女久久久| 精品永久久福利一区二区| 国产精品中文久久久久久久| 久久成人18免费网站| 久久亚洲高清观看| 精品久久久久久国产潘金莲| 亚洲AV日韩精品久久久久久久| 久久精品国产日本波多野结衣| 亚洲精品tv久久久久久久久久| 久久综合久久性久99毛片| 久久久久久久综合日本| 久久无码AV中文出轨人妻| 久久夜色精品国产噜噜亚洲a|