首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

7-Zip 7z.dll 編譯 x64 版本:NMake 命令與 VS2010+SDK 實測可行

     編輯:程式設計綜合問答

官方源碼支持 x64

7-Zip SDK (C/C++) 完整支持 x64 編譯,需使用 nmake 配合 CPU=AMD64 參數。

實測編譯命令 (VS2010 + Windows 7.1 SDK)

cd CPP\7zip
nmake CPU=AMD64 NEW_COMPILER=1 MY_STATIC_LINK=1 NO_BUFFEROVERFLOWU=1
  • CPU=AMD64:目標架構 x64。
  • NEW_COMPILER=1:使用新版編譯器 (VC10+)。
  • MY_STATIC_LINK=1:靜態鏈接 CRT,避免部署 VC++ Redist。
  • NO_BUFFEROVERFLOWU=1:禁用緩衝區溢出檢查 (可選)。

需修改 CPP\Build.mak 第 34 行,移除链接器選項 -OPT:NOWIN98 (x64 不支持)。

現代構建:CMake (7-Zip 19.00+)

cmake -B build -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release

產出 build/7z.dll (x64) 及 7z.exe。

常見坑

  • VS 版本與 Windows SDK 版本匹配:VS2019 需 Windows 10 SDK。
  • 環境變量:在 x64 Native Tools Command Prompt 中運行,確保 cl.exe、link.exe、nmake.exe 在 PATH。
  • 依賴項:7z.dll 為純 C 接口,調用時需 extern "C",傳遞 ISzAlloc 內存分配回調。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved