7-Zip SDK (C/C++) 完整支持 x64 編譯,需使用 nmake 配合 CPU=AMD64 參數。
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 -B build -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release
產出 build/7z.dll (x64) 及 7z.exe。
x64 Native Tools Command Prompt 中運行,確保 cl.exe、link.exe、nmake.exe 在 PATH。7z.dll 為純 C 接口,調用時需 extern "C",傳遞 ISzAlloc 內存分配回調。