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
    #include

这里再加上这句

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 ®istry = 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
这导致还有一个失败。

你可能感兴趣的:(VC)