vs使用cppunit分析和总结.docx

CppUnit CppUnit 在 VS2010 上的正确使用 解决办法: 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 文件,改成这样 1、上面的红色字体给出的是我在网上查到的最常见的介绍CppUnit 在vs2008 里编译的方法,但是我尝试了很多遍都没有编译成功,害的我最后还以为是 cppunit-1.12.1 在 VS2010 上不可以使用。最后被导师所逼不得不弄清楚到底是怎么一回事才一步一步的运行终于找到了正确的方法。当然因为还只是一个菜鸟级别所以有些方法还是很笨拙的,之所以想把它写下来是怕以后会忘记了! 2、 先下个最新版 cppunit-1.12.1.tar.gz解压缩,进入 cppunit-1.12.1/src 目录, 就是源代码所在,打开 CppUnitLibraries.dsw 工程,是用 vc6.0 写的,转换到 CppUnitLibraries.sln ok, 3、 然后依次运行 CppUnitLibraries.dsw 工程下的每个项目,这样做的目的是为了方面发现问题和找到正确的解决方法。下面是我在运行相应项目时所提示的错误以及解决办法 运行项目 Cppunit 中提到的 选择 Cppunit 右键属性 -(debug)配置属性-常规-目标文件名: $(ProjectName)修改成 cppunitd(这样做是为保持链接器-常规-目标文件名 一致); 运行项目 cppunit_dll 解决办法: 选择 Cppunit 右键属性 -(debug)配置属性-常规-目标文件名:$(ProjectName)修改成 cppunitd_dll(这样做是为保持库管理器-常规-目标文件名 一致); 3)到这里这里会发现其实每个项目的错误基本上都是 TargeName(xxx)与 Linker 的 OutputFile 属性值不匹配;依次修改项目 DllPlugInTester、DSPlugIn、TestPlugInRunner、TestRunner 的 Debug 配置属性 4)当然当修改完 DSPlugIn 的 Debug 配置属性后再运行我们发现 我们仔细观察到底新的错误是什么呢? 这里修改方式就是最上面的红色字 修改 TestRunner 下 UserInterface/DynamicWindow/MsDevCallerListCtrl.cpp 文件第67 行 , 改 成 #import libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2 version(8.0) lcid(0) raw_interfaces_only named_guids。 5)再次运行 DSPlugIn 项目我们会发现依然有错误解决方法: 选择项目-属性-配置属性-链接器-高级-无入口点 选择是(/NOENTRY) 6)最后为了生成全面的库文件我需要分别在 Debug、release、Debug unicode、release unicode 四种配置属性中生成全部解决方案。(运行过程中会遇到错误基本上都可以从上文中找到解决方法) 下面将给出一些我个人觉得对于学习 cppu

文档评论(0)

1亿VIP精品文档

相关文档