CppUnit编译in vs2008

不知道为什么chinaunix的博客又不能进去了,只好再记录在这里。csdn不好的地方就

是不能上附件。而chinaunix的可以。

CppUnit编译in vs2008

CppUnit在vs2008里是可以完全编译的了,不过我也是试了几次才行的。
先下个最新版cppunit-1.12.1.tar.gz 解压缩,进入cppunit-1.12.1/src目录,就是源代码所在,打
开CppUnitLibraries.dsw工程,是用vc6.0写的,转换到CppUnitLibraries.sln ok,接着只需要修改一点点内容,删除掉解决方案下的DSPlugIn工程,修改TestRunner下UserInterface/DynamicWindow/MsDevCallerListCtrl.cpp文件第67行,改成"#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_interfaces_only named_guids"。这样就可以了,点解决方案里的生成解决方案,等等等等.... 终于好了,生成文件自动拷贝到上级目录的lib下,一共7个文件,除了原始里面那个。(用debug或release都可以的,默认是debug)
把cppunit-1.12.1/include加到vs里的选择“选项”标签里的包含文件,cppunit-1.12.1/lib加到库文件,lib想加到环境变量里也行,那样不用拷贝dll文件。
接着新建一个测试gui界面的vs c++2008 MFC对话框工程CSS_CPPUNIT,修改项目属性里的配置属性里的链接器,启动增量链接改为否。 修改CSS_CPPUNIT.cpp文件,改成这样

#include "stdafx.h"
    #include "CSS_CPPUNIT.h"
    #include "CSS_CPPUNITDlg.h"

#include <cppunit/extensions/TestFactoryRegistry.h>
    #include <cppunit/ui/mfc/TestRunner.h>

这里再加上这句

BOOL CCSS_CPPUNITApp::InitInstance()
    {
        #pragma comment(lib, "cppunitd.lib")
        #pragma comment(lib, "testrunnerud.lib")

把下面的注释掉

 //CCSS_CPPUNITDlg dlg;
     //m_pMainWnd = &dlg;
     //INT_PTR nResponse = dlg.DoModal();
     //if (nResponse == IDOK)
    //{
    // // TODO: 在此放置处理何时用
    // //  “确定”来关闭对话框的代码
    //}
    //else if (nResponse == IDCANCEL)
    //{
    // // TODO: 在此放置处理何时用
    // //  “取消”来关闭对话框的代码
   //}

然后在其后添加

 CppUnit::MfcUi::TestRunner runner;
      CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry();
      runner.addTest(registry.makeTest());
     runner.run();
    return true;
完成了,编译一下看看,界面出来了,试试看这个测试工具吧。
我还是不能完全编译过去因为总是有个错误出现:
1>./Debug/TestRunnerDSPlugInD.dll.intermediate.manifest : general error c1010070: Failed to load and parse the manifest. {_~0v
这导致还有一个失败。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零点零一

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值