$ sudo apt install libunittest++-dev
在那之后
$ sudo find / -iname "*UnitTest++.*" 2> /dev/null
/usr/include/UnitTest++/UnitTest++.h
/usr/lib/x86_64-linux-gnu/pkgconfig/UnitTest++.pc
/usr/lib/x86_64-linux-gnu/libUnitTest++.so
/usr/lib/x86_64-linux-gnu/libUnitTest++.so.2
/usr/lib/x86_64-linux-gnu/libUnitTest++.so.2.0.0
但是没有libUnitTest++.a
像我在 Windows 中根据此处的说明自己编译 UnitTest++ 的情况。我也没有看到源代码文件。
我可以使用此安装进行测试还是需要下载源代码并自己编译?或者我该如何使用libUnitTest++.so
而不是libUnitTest++.a
?
这是我的一项测试:
#include "UnitTest++/UnitTest++.h"
#include "skip_list.cpp"
#include <iostream>
using namespace std;
TEST(NodeTest)
{
SkipListNode<int> node(15, 2);
CHECK_EQUAL(15, node.key);
CHECK_EQUAL(2, node.height);
CHECK(!node.next[0]);
CHECK(!node.next[1]);
CHECK(!node.next[2]);
}
int main(int, const char *[])
{
return UnitTest::RunAllTests();
}
现在它说:
g++ -std=c++11 -Wall -g skip_list_test.cpp
/tmp/cc2zCui4.o: In function `TestNodeTest::RunImpl() const':
/home/greg/study/data_structures/02_03_01_skip_list/skip_list_test.cpp:16: undefined reference to `UnitTest::CurrentTest::Details()'