关于cppunit的控制台模式不管我怎么做始终有一个连接错误,代码如下:
#include "stdafx.h"#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>int main(int argc, char* argv[])
{
CppUnit::TextUi::TestRunner runner;
CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry();
    runner.addTest(registry.makeTest());
    runner.run(); 

return 0;
}
编译没有问题,连接的时候出现以下错误,cppunitd.lib已经设置了。
MathDllTestMain.obj : error LNK2001: unresolved external symbol "public: bool __thiscall CppUnit::TextTestRunner::run(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool,bool,bool)" (?run@TextTestRunner@CppUn
it@@QAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N11@Z)不知道怎么回事,同样的方法用在Mfc上面一点问题没有。

解决方案 »

  1.   

    看一下MFC工程与控制台工程的设置有何不同?尤其是宏定义
      

  2.   

    1. 使用跟MFC一样的lib库文件
    2. 控制台中 link中 /NODEFAULTLIB:MSVCRT
      

  3.   

    检查下 编译为 C++ 代码(/TP)/mt /md之类的<string> 加这个头试下
      

  4.   

    http://cppunit.sourceforge.net/doc/lastest/class_text_test_runner.html还是主要对比一下工程设置吧