CppUnit VS2008 编译总结

参考文章:http://blog.csdn.net/ainiyidiandian/article/details/5788240#(CppUnit使用说明)

     http://www.cnblogs.com/blueswitkey/archive/2013/01/26/2877827.html(VS2008下CppUnit环境配置)

     http://wenku.baidu.com/view/49657e0102020740be1e9b42.html(含有MFC界面TestRunner的实例)


一、使用CppUnit前需要做的准备工作(编译、环境配置)

下载了cppunit的源代码压缩包并解压后,各目录结构所含文件为:

 

    *  config:该目录下包含了一些配置相关的文件,在Windows平台下意义不大

    * contrib:该目录下包含3个子目录bc5,msvc,xml-xsl,就是一些分发后或许有用的小工具,在msvc目录下是一个VBA脚本文件

    * doc:该目录下是cppunit的一些文档,不过实在是没什么可看的

    * examples:该目录下是cppunit的示例,这可是一个好东西

    * include:该目录下是cppunit源代码的头文件

    * lib:该目录下是cppunit编译后输出的lib文件

    * src:该目录下是cppunit源代码的cpp文件

 

Windows环境下编译cppunit  VC6 VC2005 VC2008都类似:

    直接用VC6打开examples目录下的examples.dsw,得到如图所示的工程:

           

  • ClockerPlugIn:这个工程是一个VC的插件,我们在这里先不理会这些插件工程
  • cppunit:这个工程是cppunit的静态链接库
  • cppunit_dll:这个工程是cppunit的动态链接库
  • CppUnitTestApp:这个工程是测试cppunit本身的功能的,有MFC界面
  • CppUnitTestMain:这个工程是测试cppunit本身的功能的,控制台界面
  • CppUnitTestPlugIn:
  • DllPlugInTester:
  • DllPlugInTesterTest:
  • DumperPlugIn:
  • hierarchy:这个工程是一个演示工程,演示测试包的继承
  • HostApp:这个工程是一个演示工程,演示带MFC界面的cppunit的使用
  • money:这个工程是一个演示工程,
  • simple:这个工程是一个演示工程,演示cppunit最简单的使用方式,控制台界面
  • simple_plugin:
  • TestPlugInRunner:
  • TestRunner:这个工程是一个动态链接库,功能是让cppunit支持MFC界面

在编译代码之前先在VC6中设置一下include路径和src路径。

  主要编译cppunit/cppunit_dll,分别是静态库和动态库,选择其一即可;编译TestRunner,这个是支持MFC界面的。


 

易出现错误:

链接过程中会报错:

  error C3505: cannot load type library '{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}'

  出错的文件是:src/msvc6/testrunner/MsDevCallerListCtrl.cpp。这是由于使用VC 8.0编译的缘故,需要修改一下它的源码,打开该文件,找到出错行(#67),将其替换为:

 1 #if _MSC_VER >= 1400 // VC++ 8 or more
 2 
 3   //The following #import imports EnvDTE based on its LIBID.
 4 
 5   #import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_interfaces_only named_guids
 6 
 7   //The following #import imports EnvDTE80 based on its LIBID.
 8 
 9   #import "libid:1A31287A-4D7D-413e-8E32-3B374931BD89" version("8.0") lcid("0") raw_interfaces_only named_guids
10 
11   #else // vc7
12 
13   #import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("7.0") lcid("0") raw_interfaces_only named_guids
14 
15 #endif

 添加环境变量:

多个变量之间用分号“;”隔开。

 

编译完成以后, 在cppunit根目录/lib/目录下,会生成若干lib,和dll文件, 都以cppunit开头. cppunitd表示debug版, cppunit表示release版。

CppUnit为我们提供了两套框架库,一个为静态的lib,一个为动态的dll。其中项目cppunit为静态库,cppunit_dll为动态库,生成的库文件为:

 

cppunit.lib:静态库release版;

cppunitd.lib:静态库debug版;

cppunit_dll.lib:动态库release版;

cppunitd_dll.lib:动态库debug版;

 

 至此,我们就有了执行CPPUINT所需要的文件(.lib文件),剩下的事情,就是将这些文件运用到被测试的工程中去。


 

 

配置工作:

环境配置如下操作:

 

1.在VS2008中点击 工具——选项——弹出的框中点击“项目和解决方案”边的+号——VC++目录——右侧“显示以下内容的目录”中选择“可执行文件”,添加 本机cppunit根目录\lib

2.在“包含文件”中,添加 本机cppunit根目录\include

3.同样,在库文件中,添加 本机cppunit根目录\lib

 

三、新建测试项目

在VS2008中新建一个工程作为测试项目,在测试工程中也有一些需要配置的地方:右击测试项目,点击“属性”

 

在弹出的窗口中,依次点击“链接器”——输入——在最上方“配置”中,选择Debug,在右侧“附加依赖项”中加入: cppunit根目录\lib\cppunitd.lib

然后,选择Release,在右侧“附加依赖项”中加入: cppunit根目录\lib\cppunit.lib 

至此,项目环境配置完成。

 

、测试实例

 

 

转载于:https://www.cnblogs.com/zhangxiaosong/p/3347122.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值