51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5549|回复: 8
打印 上一主题 下一主题

CppUnit1.10.2与VS2003

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-11-22 10:50:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问高手
      我在VC6中实现了CppUnit 1.10.2的测试。我想在VS2003中也用C++来实现测试,请问要如何设置。我用VS2003打开CppUnit 1.10.2中Examples进行编译通不过,出现很多联接错误,但我在VC6中编译能通过? 请问这是为什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-11-22 11:01:16 | 只看该作者
有哪些错误,贴上来看看。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-11-23 19:28:56 | 只看该作者
我用了两个工程,在测试工程中调用被测试工程的函数
出现下面的错误:

正在链接...
MsnokTestCase.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CTestClass::CTestClass(void)" (??0CTestClass@@QAE@XZ) ,该符号在函数 "public: __thiscall CMsnokTestCase::CMsnokTestCase(void)" (??0CMsnokTestCase@@QAE@XZ) 中被引用
MsnokTestCase.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CTestClass::~CTestClass(void)" (??1CTestClass@@QAE@XZ) ,该符号在函数 "public: virtual __thiscall CMsnokTestCase::~CMsnokTestCase(void)" (??1CMsnokTestCase@@UAE@XZ) 中被引用
Debug/MsnOkTest.exe : fatal error LNK1120: 2 个无法解析的外部命令

请问这是什么原因?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-12-20 12:08:31 | 只看该作者
有可能你某个CPPUNIT的关键字敲错了!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2005-12-20 22:15:26 | 只看该作者
并不是程序种的错误,而是你的CppUnit库设置不正确,没有找到正确的连接库。
解决方案:
             点击工程的属性,然后点击链接器选项,在链接器选择输入,然后在附加依赖项种填入:
             Debug 版本: CppUnitD.lib TestRunnerD.lib
             Release版本:CppUnit.lib TestRunner.lib
            如果你要使用MFCUi的话,在系统的环境变量中添加你的CppUnit的Lib目录,或者是把你要使用TestRunner的dll文件 copy到你的Project的目录下面就OK了!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-12-30 21:05:58 | 只看该作者
#if _MSC_VER >= 1300     // VC++ 7 or more
#error This add-in is for VC++ 6.0 only.
#endif

不支持VC++ 7
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-3-17 09:52:56 | 只看该作者
一、      配置cppunit的方法
编译
1.       编译$BASE\src\cppunit\CppUnitLibraries.dsw中的cppunit_dll项目,release版生成cppunit_dll.lib和cppunit_dll.dll,debug版生成cppunitd_dll.lib和cppunitd_dll.dll。这是CPPUnit基本类库。
2.       编译$BASE\src\cppunit\CppUnitLibraries.dsw中的TestRunner项目。release版生成TestRunner.lib和TestRunner.dll,debug版生成TestRunnerd.lib和TestRunnerd.dll。这是使用MFC的图形化界面的类库。
3.       把所有lib文件放置到CommonFiles\Lib目录下面。
4.       把dll文件放到相应的debug和release可执行目录下面。
设置VC
1.       在vc的Option中设置cppunit的头文件路径。是$BASE\include目录。
2.       在stdafx.h中添加
#ifndef _DEBUG
#pragma  comment(lib, "..\\..\\CommonFiles\\Lib\\cppunit_dll.lib")
#pragma  comment(lib, "..\\..\\CommonFiles\\Lib\\TestRunner.lib")
#else
#pragma  comment(lib, "..\\..\\CommonFiles\\Lib\\cppunitd_dll.lib")
#pragma  comment(lib, "..\\..\\CommonFiles\\Lib\\TestRunnerd.lib")
#endif
因为debug和release版使用的库是不相同的
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-3-17 09:54:11 | 只看该作者
关键是配置!在VC7上是可以用的
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-3-21 15:04:13 | 只看该作者
cppunit直接放到vc7上不可以用的。需要修改几处代码。编译的时候它首先会提示你一些头文件找不着,这个时候要把它们include进去(就是vc6的一些文件)。再编译,然后会有一些错误提示,你会发现,这些错误是出在vc6的一些代码中的,按照你能想到的方法修改它(比如改个变量名之类的)。再编译,还会有一个错误,(具体是什么忘了,但是修改还是很容易的),如果这个时候自己还是搞不定的话,就找公司里的高手来改,对于他们来说,这个问题还是比较简单的。而且就这么一处,相信他们不会觉得你很麻烦的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-5 00:40 , Processed in 0.067923 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表