GemHSMS是网友开发的一个简易HSMS协议Demo,很有参考价值,在编译这个程序中间还是遇到了不少的坑的,特此记录下来


所需文件:

xerces-c-src_2_7_0
ACE-5.6.6
GemHsms

下载地址:https://yun.inks.icu/


1. 编译xerces-c-2.7
打开xerces-c-src_2_7_0ProjectsWin32VC7.1xerces-all xerces-all.sln
设置启动项为XercesLib,
然后分别编译Static Debug 和 Static Release版本
编译后会在xerces-c-src_2_7_0BuildWin32VC7.1路径下生成两个文件夹:StaticDebug 和StaticRelease,里面的lib库> 就是我们编译GEMHSMS所需要用的到库文件,我们把它放在新建文件夹,xerces-c-src_2_7_0lib下
至此,xerces-c就编译完成了


2. 编译ACE-5.6.6
在ACE-6.5.5ACE_wrappersace新建一个config.h文件,内容填写为

#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"
其中第一行是标准C++跨平台,根据需要填写,第二行则是必须要的,表明当前是在win32的环境下进行ace的项目。

打开ACE-5.6.6ACE_wrappersace目录下的ace_vc9_Static.sln
编译后会在ACE-5.6.6ACE_wrapperslib下生成一个ACEsd.lib的文件


3. 编译GemHSMS
经过前面两步,我们已经拿到了这一步所需要的lib库文件,编译GemHSMS现在所需要做的就是添加对应的lib库完成编译就可以了
1) C/C++附加包含目录,填入你们ACE5.6.6和xerces-c2.7的根目录地址
2) 链接器附加库目录,填入ace和xerces-c的lib目录
3) 链接器输入->附加依赖项,填写所需要的依赖lib文件
4) 调试编译,完成!