第一个CppUnit测试:对CppUnit::SourceLine::SourceLine的未定义引用

First CppUnit Test: undefined reference to CppUnit::SourceLine::SourceLine

本文关键字:SourceLine CppUnit 未定义 引用 测试 第一个      更新时间:2023-10-16

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

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

和许多其他错误信息。

我猜原因是编译器不知道UnitTest库是什么。在这里,我发现有人问同样的问题。我尝试使用链接问题的答案中的推荐,但它仍然不起作用。当我尝试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库的位置并将此信息传递给编译器吗?

这就是我如何编译我的代码:

g++ testing.cpp -lcppunit

我在netbeans中编译。我在

中添加了-lcppunit选项

属性>链接器>附加选项

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