不知道为什么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编译in vs2008】然后在其后添加
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 这导致还有一个失败。
推荐阅读
- C++|右键菜单,动态创建
- VC修改屏幕刷新率
- vc|c++类的多重继承与虚拟继承
- vc2005编译MessageBox()函数出错与UNICODE字符集
- vc|Windows Mobile 6将分为三种版本