近段时间一直在搞一个开源的加解密软件,这玩意挺实用的,对于该软件的介绍我就在这里不多说了,直接切入正题。
本文档编译的版本为:AxCrypt-1.7.2976.0-Source
使用的vs版本是:vs2010旗舰版
编译后生成的是Debug版本的。
按照标准文档,所需要的额外的工具或者库有如下:
(1)Crypto++ 5.6.1(或者更高版本)下载地址为:http://www.cryptopp.com
(2)zlib-1.2.5(或者更高版本)下载地址为:http://www.zlib.net
(3)MicrosoftWindows SDK 7.1或者更高的版本,不过既然装了vs2010了这个就是自带的了,但是vs2010express 版本需要安装
(4)WTL 8.1.11324或者更高版本下载地址
http://sourceforge.net/projects/wtl/
(5)WindowsDriver Kit 7.1或者更高的版本下载地址为:
http://www.oyksoft.com/soft/10174.html
(6)MSBuild.Community.Tasks下载地址为:
http://msbuildtasks.tigris.org/
(7)ML (WiX)toolset v3.5或者更高的版,下载地址为:
http://wix.codeplex.com/这个下载的是wix3.7的!
所需要一些额外的库都准备好了,那么就可以进一步走向编译工程了:
首先需要注册一些环境变量:
AX_CRYPTOPP =D:\cryptopp561
说明:路径是cryptopp561.zip解压后的文件所在的路径所在的路径,我在这里将解压到了D盘下
AX_ATL=C:\WinDDK\7600.16385.1
说明:这个路径是你的Windows Driver Kit 7.1安装后所在的路径
AX_WTL=D:\WTL81_9127
说明:这个路径是WTL81_9127.zip解压后的文件所在的路径,英文文档上的路径是D:\WTL81_9127\Include,而我使用D:\WTL81_9127也一样成功了!如果D:\WTL81_9127不行,那么可以试试D:\WTL81_9127\Include
AX_ZLIB=D:\zlib-1.2.8
说明:zlib-1.2.8解压后的文件所在的路径
另外需要注意的是,在后面的操作中会用到一些命令现在你可以打开一个运行一下cmd命令,然后测试这些命令是否存在于你的系统中,这两个命令分别是:
vcupgrade.exe和msbuild.exe
如果不存在,那么试试一下方法:
打开这个目录:
C:\ProgramFiles\Microsoft Visual Studio 10.0\Common7\Tools
查看是否存在vcupgrade.exe如果存在,则将这个路径添加到用户环境变量path后面
打开目录:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
查看是否存在msbuild.exe如果存在,把上面的那个目录添加到用户环境变量path后面
如果两者有一个不存在,那么说明环境有问题,往下就没法操作了!根据vs2010安装的目录不同,上面的目录会有所变动,我安装的就是那些目录!
下面开始编译:
1.安装下载下来的MSBuild.Community.Tasks.v1.4.0.56.msi
2.安装成功后,在打开系统的运行,输入cmd
3.执行如下命令:
cd %AX_CRYPTOPP%
vcupgrade cryptlib.vcproj
4.接着是如下命令:
msbuild cryptlib.vcxproj/p:Configuration=Debug;Platform=Win32
需要说明的是,如果这一步出错了,那么将你设置的AX_CRYPTOPP环境变量中带有的中文字符换成英文的,再重新使用如上命令即可!
4.打开 %AX_ZLIB%\contrib\vstudio\vc10\zlibvc.sln ,这里需要需要设置一下,设置步骤如下:属性–>配置属性->C C++ ->代码生成,在右边的选项卡中的运行库调成:多线程调试 (/MTd)
5.再执行如下命令:
cd %AX_ZLIB%\contrib\masmx64
bld_ml32.bat
或者直接找到bld_ml32.bat双击也行。
5.接着执行如下命令:
cd%AX_ZLIB%\contrib\vstudio\vc10
msbuildzlibstat.vcxproj /p:Configuration=Debug;Platform=Win32
这一切执行完毕之后,进入到AxCrypt-1.7.2976.0-Source源代码目录下执行如下命令:
MSBuildAxCrypt.sln /p:Configuration=Debug;Platform=Win32
然后在在vs2010下打开AxCrypt.sln即可,当运行的时候可能会出现说某个库,二进制无法识别或者格式不对,这个时候,只需要设置其他的工程为启动项即可,其设置步骤如下:
选中(AxDecrypt或者AxCrypt2Go或者AxCrypt),在弹出的右键菜单中选中设为启动项,这样再使用vs2010编译就不会出错了!至此整个编译过程结束!