horily

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
CppUnit版本:cppunit-1.10.2
 
下载解压到c:\cppunit-1.10.2,在contrib\bc5下有个bcc-makefile.zip,解压到
c:\cppunit-1.10.2\bcc。首先在CB6里面建一个Console应用,编译出mksrclist.exe,
然后修改makefile,把BCB的安装目录改成:
BCB=c:\progra~1\borland\cbuilder6,
然后修改cppunit.mak,把bc5改成bc6,这个是为了表示是CB6编译的,不改也行,改
了更容易理解。关键是把“CXXFLAGS_”开头的编译选项中两个“-N”去掉,
然后在bcc目录下执行make就可以编译出CB6的DLL和LIB了,文件名具体含义见CppUnit
的INSTALL-WIN32.txt文档。
 
建立自己的测试工程时要注意:
用静态lib时,工程编译选项中要把use dynamic RTL去掉,否则运行时报access violation错误。
这是因为cppunit.mak文件中静态编译选项没有用RTL,即-WR选项。
用DLL的lib时,要在工程里面定义CPPUNIT_DLL,同时要保证运行时刻能够找到相应的DLL。
 
在用工厂方式注册TestCase时,如:
 
runner.addTest(CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest());
 
link时会遇到Fatal access violation错误,把ilink32更新到5.66就可以解决这个问题。
Borland网站关于这个错误的描述如下:
 
ilink32 Version 5.66 Update for C++ Customers 
 
This update resolves an issue in ilink32 with an access violation when linking
together large numbers of object files. It affects C++BuilderX (including Mobile)
and C++Builder 6 customers who may need to compile VCL applications.
posted on 2006-04-23 00:17  horily  阅读(990)  评论(0编辑  收藏  举报