天天看点

【源码部署】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里,可以先将其注释。

继续阅读