【问题标题】:First CppUnit Test: undefined reference to CppUnit::SourceLine::SourceLine第一个 CppUnit 测试:未定义对 CppUnit::SourceLine::SourceLine 的引用
【发布时间】:2013-04-18 08:00:02
【问题描述】:

我是第一次尝试使用 CppUnit 测试。当我尝试编译测试代码时,我得到:

testing.cpp:(.text+0xca): 未定义的引用 `CppUnit::SourceLine::SourceLine(std::basic_string, std::allocator > const&, int)'

以及许多其他错误消息。

我猜原因是编译器不知道 UnitTest 库是什么。 Here我发现有人问同样的问题。我尝试使用链接问题的答案中的建议,但它仍然不起作用。当我尝试c++ -lunittest++ testing.cpp 时,我得到:

/usr/bin/ld: cannot find -lunittest++
collect2: ld gives back 1 as End-Status

在其他人使用的 make 文件中,我看到了:LDLIBS := -lcppunit。所以我尝试了c++ -lcppunit++ testing.cpp,但我收到与-lunittest 相同的错误消息。

有人知道我如何找到 UnitTest 库的位置并将此信息传递给编译器吗?

【问题讨论】:

    标签: c++ unit-testing compilation include


    【解决方案1】:

    这就是我设法编译我的代码的方式:

    g++ testing.cpp -lcppunit
    

    【讨论】:

    • 为我工作,谢谢!需要 -lcppunit 参数。仍然不确定如何生成报告。我是这方面的新手。
    【解决方案2】:

    我在 netbeans 中编译。我在

    中添加了选项-lcppunit

    属性 > 链接器 > 附加选项

    这让我的测试文件编译并运行。请记住不要在选项之间留任何空格,因为这会导致您的代码无法编译

    【讨论】:

    • 还在“测试文件”部分添加选项。愚蠢的netbeans。
    猜你喜欢
    • 1970-01-01
    • 2010-11-04
    • 2010-09-22
    • 2011-12-31
    • 1970-01-01
    • 2011-03-05
    • 2013-04-09
    • 2013-07-27
    • 1970-01-01
    相关资源
    最近更新 更多