天天看點

【源碼部署】veracry windows版源碼編譯

veracry windows版源碼編譯

1、VeraCrypt 編譯環境準備:

  1. Windows 7/8/10
  2. SQL Server 2008 R2
  3. Microsoft Visual Studio C++ 2010
  4. Microsoft Visual C++ 2010 SP1 (Professional Edition or compatible)
  5. Microsoft Visual C++ 1.52 (available from MSDN Subscriber Downloads)
  6. Microsoft Windows SDK for Windows 7.1 (configured for Visual C++ 2010)
  7. Microsoft Windows SDK for Windows 8.1 (needed for SHA-256 code signing)
  8. Microsoft Windows Driver Kit 7.1.0 (build 7600.16385.1)
  9. NASM assembler 2.14.02 or compatible
  10. YASM 1.3.0 or newer.
  11. gzip compressor
  12. upx packer

2、安裝步驟

  • 安裝SQL Server 2008 R2,參考 SQL Server 2008 R2 超詳細安裝圖文教程
  • vs2010安裝,參考Visual Studio(VS)2010安裝教程内含安裝包
  • vc152直接解壓後,輕按兩下選擇解壓目錄即可。配置環境變量。
【源碼部署】veracry windows版源碼編譯
  • sdk7.1和vs2010 sp1的安裝注意點,參考VS2010 sp1 & Windows SDK 7.1 正确安裝步驟。百度上說的那些錯誤我都沒遇到,如果有遇到,請自行百度解決。現提供下載下傳位址:sdk7.1更新檔下載下傳位址
  • GRMWDK_EN_7600_1.ISO(wdk7.1)解壓後,輕按兩下KitSetup.exe。
    【源碼部署】veracry windows版源碼編譯
  • 後面一路預設安裝即可。然後,配置環境變量
    【源碼部署】veracry windows版源碼編譯
  • nasm目前最新穩定版是2.14.02(下載下傳位址),解壓後,将nasm.exe複制到C:\Windows目錄下面.
  • 解壓vsyasm-1.3.0-win64.zip,将vsyasm.exe複制到C:\Windows目錄下面。
  • 解壓gzip-1.3.12-1-bin.zip,将bin/gzip.exe複制到C:\Windows目錄下面。
  • 解壓upx-3.95-win32.zip,将upx.exe複制到C:\Windows目錄下面。

(後面sdk8.1安裝是為了簽名和打包,隻是編譯的話,不需要進行操作。)

  • 安裝sdk8.1。

至此Veracrypt環境安裝準備完畢

3、編譯項目

  1. 建立一個環境變量“MSVC16_ROOT”,指向從 Visual C++ 1.52 自解壓包中提取的檔案夾“MSVC15”。
  2. 注意:16 位安裝程式 MSVC15\SETUP.EXE 無法在 64 位 Windows 上運作,但實際上沒有必要運作它。您隻需要提取檔案夾“MSVC15”,其中包含建構 VeraCrypt 引導加載程式所需的 32 位二進制文​​件。
  3. 如果您已将 Windows 驅動程式開發工具包安裝在 ‘%SYSTEMDRIVE%\WinDDK’ 以外的其他目錄中,請建立指向 DDK 安裝目錄的環境變量 ‘WINDDK_ROOT’。
  4. 在 Microsoft Visual Studio 2010 中打開解決方案檔案“VeraCrypt.sln”。
  5. 選擇“全部”作為活動解決方案配置。
  6. 建構解決方案。
  7. 如果成功,“src\Release\Setup Files”檔案夾中應該有建立的 VeraCrypt 二進制檔案。

4、遇到的問題

  1. 編譯x64版本點時候,可能會提示yasm.exe找不到,可以複制一個vsyasm.exe,将其命名為yasm.exe
  2. 若提示fatal error C1083: 無法打開包括檔案:“ammintrin.h”: No such file or directory,可以打開C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include,放一個ammintrin.h進去。
  3. 點選VeraCrypt.exe檔案出現簽名異常DIST_PACKAGE_CORRUPTED,這是因為release版本的exe需要簽名後才能運作,debug沒關系。具體代碼在src\common\dlgcode.c裡,可以先将其注釋。

繼續閱讀