【问题标题】:issue with QTtestrunner in cppunitcppunit 中 QTtestrunner 的问题
【发布时间】:2012-05-04 16:35:18
【问题描述】:

我有一个项目使用 cppunit 进行单元测试,我使用 QTtestrunner 显示结果这里是代码

CPPUNIT_NS::QtUi::TestRunner testrunner;  
testrunner.addTest (CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest());
testrunner.run (true);

但我在编译时有这条消息:

src/main.cpp:78: undefined reference to 'CppUnit::QtTestRunner::QtTestRunner()'
src/main.cpp:79: undefined reference to CppUnit::QtTestRunner::addTest(CppUnit::Test*)'                 
src/main.cpp:80: undefined reference to CppUnit::QtTestRunner::run(bool)'
src/main.cpp:91: undefined reference to 'CppUnit::QtTestRunner::~QtTestRunner()'

我知道链接有问题,但我包含了所有我需要的 libcppunit.a 和 libcppunit.so

【问题讨论】:

  • 能否请您添加用于链接的命令行参数?
  • 我使用 bjam 进行编译,这是我的代码 use-Library = <library-path>UT_Cpp_Test/main/libs/ <library-file>UT_Cpp_Test/main/libs/libcppunit.a; 这是用于静态库的。 exe UT_Cpp_Test_$(GL_OS_TAG) : [ glob src/*.cpp ] : $(usage-requirements) $(use-Library) <library-path>UT_Cpp_Test/libs <find-shared-library>cppunit 和这个用于执行。
  • 事实上我发现我没有编译 qttesrunnerlib,所以我在安装 qt 后尝试编译它,我需​​要链接到创建的库,谢谢

标签: c++ qt compiler-construction cppunit


【解决方案1】:

Qt 版本差异是问题所在。你可以下载这个patch 它转换为 Qt3,然后您可以使用“qt3to4”将其转换为 Qt4。

当您使用 qttestrunner.a 库时,您还需要将 qt3 支持添加到您的 pro 文件中。

QT += qt3support 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多