51Testing软件测试论坛

标题: CppUnit1.10.2与VS2003 [打印本页]

作者: bluesnowst    时间: 2004-11-22 10:50
标题: CppUnit1.10.2与VS2003
请问高手
      我在VC6中实现了CppUnit 1.10.2的测试。我想在VS2003中也用C++来实现测试,请问要如何设置。我用VS2003打开CppUnit 1.10.2中Examples进行编译通不过,出现很多联接错误,但我在VC6中编译能通过? 请问这是为什么?
作者: testing    时间: 2004-11-22 11:01
有哪些错误,贴上来看看。
作者: bluesnowst    时间: 2004-11-23 19:28
我用了两个工程,在测试工程中调用被测试工程的函数
出现下面的错误:

正在链接...
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 个无法解析的外部命令

请问这是什么原因?
作者: hether    时间: 2005-12-20 12:08
有可能你某个CPPUNIT的关键字敲错了!
作者: Holy0607    时间: 2005-12-20 22:15
并不是程序种的错误,而是你的CppUnit库设置不正确,没有找到正确的连接库。
解决方案:
             点击工程的属性,然后点击链接器选项,在链接器选择输入,然后在附加依赖项种填入:
             Debug 版本: CppUnitD.lib TestRunnerD.lib
             Release版本:CppUnit.lib TestRunner.lib
            如果你要使用MFCUi的话,在系统的环境变量中添加你的CppUnit的Lib目录,或者是把你要使用TestRunner的dll文件 copy到你的Project的目录下面就OK了!
作者: antonym55    时间: 2005-12-30 21:05
#if _MSC_VER >= 1300     // VC++ 7 or more
#error This add-in is for VC++ 6.0 only.
#endif

不支持VC++ 7
作者: littlewind    时间: 2006-3-17 09:52
一、      配置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版使用的库是不相同的
作者: littlewind    时间: 2006-3-17 09:54
关键是配置!在VC7上是可以用的
作者: zixuxuwu    时间: 2006-3-21 15:04
cppunit直接放到vc7上不可以用的。需要修改几处代码。编译的时候它首先会提示你一些头文件找不着,这个时候要把它们include进去(就是vc6的一些文件)。再编译,然后会有一些错误提示,你会发现,这些错误是出在vc6的一些代码中的,按照你能想到的方法修改它(比如改个变量名之类的)。再编译,还会有一个错误,(具体是什么忘了,但是修改还是很容易的),如果这个时候自己还是搞不定的话,就找公司里的高手来改,对于他们来说,这个问题还是比较简单的。而且就这么一处,相信他们不会觉得你很麻烦的。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2