随笔- 2  文章- 0  评论- 0  阅读- 15017 

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内,如图:

clip_image001

7. 看所有dsp的设置,都是只有Release被设置过一些lib的关联,而Debug都没有设置过的,那我们直接用Release来做开发版本吧。

8. 为了能让Release做开发版本,我们需要设置Release版本可以调试,将Debug信息给添加起来(设置所有的dsp工程):

.设置1

clip_image003

.设置2

clip_image005

9. 我们要有自动化(快速编译与高度),设置所有基础库的Post-build step,将.lib文件复制到CS\libs下面,将.dll/.exe复制到CS\bin下面;当然,如果我们在这个crass.dsw里还加入了某些cui的psd,那么也可以设置这些cui的dsp直接复制到CS\bin\cui

.设置.dll/.exe

clip_image007

.设置cui,VC6好短(copy Release\$(TargetName).dll ..\..\bin\cui\$(TargetName).cui)

clip_image009

10. Clean所有的dsp

clip_image011

11. 修改utility.h文件(要不然编译不过,可能跟编译器版本有关吧)

打开CS\common\SDK\include\utility.h文件,定位到34行修改wscanf为my_wscanf,并且查找CS目录下面所有使用了wscanf函数的地方,都替换成my_wscanf

clip_image013

12. 编译utility.dll与locale.dll(这两个库比较神,相互调用对方的导出,需要特别处理)

打开utility的工程设置,【删除】Link->Object/Library modules->locale.lib

clip_image015

编译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,就会将其它的基础库也编译了

clip_image017

这样,Crass的基础框架就编译完成了,并且也可以调试(第8步做的那些事就为这)

14. 编译cui与调试

为了方便看代码,直接将要编译&调试的cui工程直接加入到crage.dsw里面去

clip_image019

设置YU_RIS能被调试(参看第8步)

设置YU_RIS自动生成文件到CS\bin\cui目录下(参看第9步)

编译YU_RIS,编译成功

设置YU_RIS的调试参数

.设置1,注意Program arguments,这里我填的是一个可被YU_RIS解包的包文件,我们可以根据自己要调试的解包插件来决定选择用什么参数(文件)

clip_image021

.设置2,可能是因为cui插件是用LoadLibaray加载进来的,导致如果不将要被调试的cui插件加入到附加的DLL列表内去,就无法调试

clip_image023

.设置3,将YU_RIS工程设置为活动的工程

clip_image025

 

=>>>>>>>>>>>>>>>>>>>>

>>>OK,现在我们可以F5开始Debug之路了

 posted on   损疾  阅读(1557)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示