Google 테스트를 배우고 있습니다. 나는, gtest 다운로드 명령 ./configure
및 make
를 실행하고 난 here에서이 모든 것을 가지고Google 테스트 누락 DSO
$ sudo cp -a include/gtest /usr/include
$ sudo cp -a lib/.libs/* /usr/lib/
끝났다. 이 코드이
$ export GTEST_HOME=~/usr/gtest
$ export LD_LIBRARY_PATH=$GTEST_HOME/lib:$LD_LIBRARY_PATH
$ g++ -I $GTEST_HOME/include -L $GTEST_HOME/lib -lgtest -lgtest_main -lpthread test.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();
}
를 실행하려고하지만 난
/usr/bin/ld: /tmp/ccVTj3Rk.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
내가 뭔가 잘못하고 있는가하거나 버그에 오류가 발생했습니다?
AFAIK,'gtest_main'에 연결하면'main()'을 구현하지 말아야합니다. – tgmath
그래서'main()'을 삭제해야합니까? 당신은 무엇을 목적으로합니까? – TheGuyWithStreetCred
'main()'없이 테스트하고 컴파일했습니다. 중요한 것은'test.cpp' 다음에 libs를 추가하는 것입니다. – tgmath