7 zクラスライブラリのコンパイルについて


周知のように、7 zはとても良い圧縮クラスライブラリで、多種の圧縮フォーマットの圧縮と解凍をサポートするだけではなくて、また多種の圧縮アルゴリズムをサポートして、そしてマルチスレッドの圧縮を提供して、家で旅行する良備です!
資料
7 zソース(中国語ミラーアドレス):https://sparanoid.com/lab/7z/download.html
開発環境:Windows 10
コンパイルツール:visual stdio 2015
ディレクトリ構造
.
├── Asm ——     
│   ├── arm
│   └── x86
├── C —— C    
│   └── Util
│       ├── 7z
│       ├── 7zipInstall
│       ├── 7zipUninstall
│       ├── Lzma
│       ├── LzmaLib
│       └── SfxSetup
├── CPP —— C++  
│   ├── 7zip
│   │   ├── Archive ——          
│   │   │   ├── 7z
│   │   │   ├── Cab
│   │   │   ├── Chm
│   │   │   ├── Common 
│   │   │   ├── Icons
│   │   │   ├── Iso
│   │   │   ├── Nsis
│   │   │   ├── Rar
│   │   │   ├── Tar
│   │   │   ├── Udf
│   │   │   ├── Wim
│   │   │   └── Zip
│   │   ├── Bundles ——————————————      
│   │   │   ├── Alone ———————————— 7za.exe:   zip  (    7z/xz/cab/zip/gzip/bzip2/tar.)
│   │   │   ├── Alone7z ———————————7zr.exe:    zip      (   7z)
│   │   │   ├── Fm  ———————————————   zip       
│   │   │   ├── Format7z —————————— 7za.dll:    .7z 
│   │   │   ├── Format7zExtract———— 7zxa.dll:   .7z ,      
│   │   │   ├── Format7zExtractR —— 7zxr.dll:   .7z ,    ,      
│   │   │   ├── Format7zF—————————— 7z.dll:       
│   │   │   ├── Format7zR ————————— 7zr.dll:    .7z ,    
│   │   │   ├── LzmaCon ——————————— lzma.exe: LZMA   /  
│   │   │   ├── SFXCon ———————————— 7zCon.sfx:  7z SFX        
│   │   │   ├── SFXSetup —————————— 7z.sfx: Windows 7z SFX   
│   │   │   └── SFXWin —————————————  7zS.sfx: Windows 7z SFX      
│   │   ├── Common —— 7-zip     
│   │   ├── Compress ——   /      
│   │   ├── Crypto  ——   /      
│   │   └── UI
│   │       ├── Agent ——             
│   │       ├── Client7z —— 7za.dll      
│   │       ├── Common ——    UI   
│   │       ├── Console —— 7z.exe :      
│   │       ├── Explorer —— 7-zip.dll: 7-Zip     
│   │       ├── Far  —— Far Manager   
│   │       ├── FileManager —— 7zFM.exe: 7-Zip      
│   │       └── GUI —— 7zG.exe: 7-Zip GUI  
│   ├── Common —— C++      
│   └── Windows —— Windows    
│       └── Control
└── DOC
	├── 7zC.txt 
    ├── 7zFormat.txt —— 7z      
    ├── 7zip.hhp
    ├── 7zip.inf
    ├── 7zip.nsi —— NSIS     
    ├── 7zip.wxs —— XS     
    ├── License.txt 
    ├── Methods.txt ——      IDs
    ├── copying.txt —— GNU LGPL   
    ├── lzma.txt —— LZMA       
    ├── readme.txt ——       
    ├── src-history.txt ——          
    └── unRarLicense.txt ——   unRAR         

コンパイル
対応するプロジェクトのdspを見つけ、visual stdio 2015を使用して起動し、デフォルトのアップグレードオプションを選択します.
コンパイル中に表示されます:error LNK 1181:入力ファイルを開くことができません".Debug\.obj"
解決策:
https://blog.csdn.net/lacoucou/article/details/70807990?utm_source=blogxgwz6 http://www.cnblogs.com/lniwn/p/7z-VSbuild.html http://stackoverflow.com/questions/12387701/error-lnk1104-obj-file-without-any-file-name http://stackoverflow.com/questions/4000772/visual-studio-2010-link-fatal-error-lnk1181-cannot-open-input-file-obj https://www.itdaan.com/blog/2014/01/04/229fd3b6633987e56d1ba51628d43f70.html
しかし、実測は役に立たないが、多くの資料を探して実行可能な方法を見つけた.
  • ソリューションの「7 Z」項目を選択し、メニューバーの「項目」->「カスタム生成」をクリックし、「masm」をチェックし、「
  • 」を押して確定する
  • プロジェクトのASM7 zCrcOptを選択します.ASMとASMAesOpt.asm,右ボタン属性"->"一般"->"アイテムタイプ","Microsoft Macro Assembler"を選択し、"OK"
  • 右クリック項目「7 z」、「リンク」、「出力ファイル」を$(OutDir)$(TargetName)$(TargetExt)
  • に変更
  • リンケータ->イメージにセキュリティ例外ハンドラがあり、「No」
  • に変更
    エラー5 error CVT 1100:リソースが重複している場合.タイプ:MANIFEST,名称:2,言語:0 x 0409
    メニューバーの項目をクリックします
    もし本当にコンパイルができないなら、その間に大物がコンパイルしたクラスライブラリをダウンロードしましょう.https://github.com/charygao/7z1604-srcWithVs2015Up3