Crass-Source build
写给已经已经忘记或不会用VC6,又想编译Crass-Source的人
CS=Crass-Source
1. 下载VC6+SP6
2. 建立目录
CS\libs (用来存放Crass的几个基础库的lib)
CS\bin (用来做为Crass的运行目录,将会放所有的dll,exe这些文件)
CS\bin\cui (用来存放Crass所有的解包插件,.cui文件)
3. 下载zlib.1.2.3库
编译dll版本(可以参看:http://blog.csdn.net/htttw/article/details/7616124)
将.lib文件改名为zdll.lib
复制zdll.lib到CS\libs下
4. 复制crass的第三方运行库
复制CS\crass-0.4.14.1下的
libbz2.dll
libeay32.dll
zlib1.dll
到CS\bin下
5. 打开CS\crage\crage.dsw工程
6. 为了操作方便点(要不然开几个VC6工程挺烦的),添加其它几个基础库的*.dsp到crage.dsw内,如图:
7. 看所有dsp的设置,都是只有Release被设置过一些lib的关联,而Debug都没有设置过的,那我们直接用Release来做开发版本吧。
8. 为了能让Release做开发版本,我们需要设置Release版本可以调试,将Debug信息给添加起来(设置所有的dsp工程):
.设置1
.设置2
9. 我们要有自动化(快速编译与高度),设置所有基础库的Post-build step,将.lib文件复制到CS\libs下面,将.dll/.exe复制到CS\bin下面;当然,如果我们在这个crass.dsw里还加入了某些cui的psd,那么也可以设置这些cui的dsp直接复制到CS\bin\cui
.设置.dll/.exe
.设置cui,VC6好短(copy Release\$(TargetName).dll ..\..\bin\cui\$(TargetName).cui)
10. Clean所有的dsp
11. 修改utility.h文件(要不然编译不过,可能跟编译器版本有关吧)
打开CS\common\SDK\include\utility.h文件,定位到34行修改wscanf为my_wscanf,并且查找CS目录下面所有使用了wscanf函数的地方,都替换成my_wscanf
12. 编译utility.dll与locale.dll(这两个库比较神,相互调用对方的导出,需要特别处理)
打开utility的工程设置,【删除】Link->Object/Library modules->locale.lib
编译untility,编译器会提示Link失败,找不到一些函数;
不过编译器还是生成了一个lib文件CS\utility\Release\utility.lib
手工复制这个utility.lib文件到CS\libs下
编译locale,编译成功
打开utility的工程设置,【添加】Link->Object/Library modules->locale.lib
对untility进行Clean
编译untility,编译成功
以后再编译这两个工程就没有这么烦了,可以直接编译了,因为对方的.lib文件总是在CS\libs目录下面
13. 编译其它的基础库与crass.exe
这里我们可以加一个方便的设置,关联其它基础库的工程到crage工程上去,我们直接编译crage,就会将其它的基础库也编译了
这样,Crass的基础框架就编译完成了,并且也可以调试(第8步做的那些事就为这)
14. 编译cui与调试
为了方便看代码,直接将要编译&调试的cui工程直接加入到crage.dsw里面去
设置YU_RIS能被调试(参看第8步)
设置YU_RIS自动生成文件到CS\bin\cui目录下(参看第9步)
编译YU_RIS,编译成功
设置YU_RIS的调试参数
.设置1,注意Program arguments,这里我填的是一个可被YU_RIS解包的包文件,我们可以根据自己要调试的解包插件来决定选择用什么参数(文件)
.设置2,可能是因为cui插件是用LoadLibaray加载进来的,导致如果不将要被调试的cui插件加入到附加的DLL列表内去,就无法调试
.设置3,将YU_RIS工程设置为活动的工程
=>>>>>>>>>>>>>>>>>>>>
>>>OK,现在我们可以F5开始Debug之路了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步