【发布时间】:2014-11-24 01:20:05
【问题描述】:
在 Ubuntu Linux 上,我一直按照 gtest 给出的 here 说明安装 gtest,并将头文件和库分别手动复制到 /usr/include 和 /usr/lib。
然后我尝试编译以下代码 (test1.cpp)
#include <gtest/gtest.h>
TEST(MathTest, TwoPlusTwoEqualsFour) {
EXPECT_EQ(2 + 2, 4);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest( &argc, argv );
return RUN_ALL_TESTS();
}
使用以下命令
g++ -lgtest -lgtest_main -lpthread test1.cpp
只是为了看到另一个无用的错误消息:
/usr/bin/ld: /tmp/ccQlmghI.o: undefined reference to symbol '_ZN7testing8internal9EqFailureEPKcS2_RKSsS4_b'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgtest.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
我该如何解决这个问题?或者是否有另一个可以以简单方式使用的单元测试框架,并带有一个工作示例?
here 提出了同样的问题,但没有答案。
【问题讨论】:
标签: c++ linux unit-testing