在 Visual Studio 2012 中完成配置华为软件入职前练习的CppUnit测试

声明:
        本文主要参考博客:

        在华为入职前练习的 OJ 项目中,已经设置好部分测试用例,直接用来作为程序调试非常方便。但是 OJ 的项目是在 Visual Studio 2005 环境下建立配置的项目,在 Visual Studio 2012 下并不能直接使用。需要进行重新配置。本文主要介绍在 Visual Studio 2012 环境下完成配置 OJ 项目中的 CppUnit 的配置方法。
        具体来说,不能再 Visual Studio 运行的原因是 cppunitd.lib 这个库文件与编译环境不匹配,因此,需要重新编译 CppUnit。具体的 CppUnit 编译方法如下:
  • 下载最新的与 OJ 项目匹配的 CppUnit 版本
        本人使用的是 CppUnit-1.12.1 ,文件目录如下:
  • 编译 CppUnit,获取在当前环境下的 cppunitd.lib 库
        具体做法如下:
    • 在上图中 src 目录下,用 Visual Studio 2012 打开工程 CppUnitLibraries.dsw提示迁移
    • 提示工程迁移时,全部选 “”,得到下图的项目工程
    • 这时,工程直接编译是无法通过的。需要进行三处修改:
      • 在工程中,移除 DSPlugIn 项目,因为它只支持 Visual Studio 6.0
      • 将 cppunit 设置为 “启动项目”,并在项目的 “属性管理器中”,右键点击 cppunit 将其重名名为 cppunitd,原因是原始项目中设置存在问题
      • 在 原 src\msvc6\testrunner 文件下找到 MsDevCallerListCtrl.cpp 文件,将 67行的
#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version(" 7.0") lcid("0") raw_interfaces_only named_guids
                        修改为:
#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version(" 8.0") lcid("0") raw_interfaces_only named_guids
    • 然后,可以编译 CppUnit,在 cppunit-1.12.1\lib 下能够得到编译好的 cppunitd.lib 库
  • 将 cppunitd.lib 库复制到 OJ 工程的 cppunit-1.12.1\lib\vc80 文件夹下,覆盖原始工程的 cppunitd.lib 库
  • 配置 OJ 工程,完成 CppUnit 配置
        具体做法如下:
    • 用 Visual Studio 2012 打开 OJ 项目的 Project 文件夹下打开工程
    • 提示迁移时,全部选 “
    • 然后,右键工程选择 “属性”—“C/C++”—“代码生成”—“运行库”,选择“多线程调试DLL
    • 再编译,就能够通过了

        最后,感谢前人的帮助!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值