g++ $(gtest-config --cppflags --cxxflags) -o foo.o -c foo.cpp g++ $(gtest-config --ldflags --libs) -o foo foo.oW ramach kompilacji chciałem przeprowadzić standardowe budowanie ze skryptów make. Wpierw okazało się, że autoconf/make(?) nie jest już wspierany (albo odradzany), i że powianiem skorzystać z CMake. Tak też uczyniłem, lecz to co zostało wyplute, nijak nie chciało współgrać z linkerem.
Skończyło się ręcznym kompilowaniu bibliotek. Wpierw ustawiłem sobie kilka zmiennych środowiskowych, żeby było bardziej przejrzyście.
export GMOCK_DIR=~/Downloads/gmock-1.6.0/ export GTEST_DIR=~/Downloads/gmock-1.6.0/gtest/ export GMOCK_INCLUDE=~/Downloads/gmock-1.6.0/include/ export GTEST_INCLUDE=~/Downloads/gmock-1.6.0/gtest/include/ export GMOCK_LIB=~/Downloads/gmock-1.6.0Kompilacja do statycznych bibliotek
g++ -I${GTEST_INCLUDE} -I${GTEST_DIR} -I${GMOCK_INCLUDE} \ -I${GMOCK_DIR} -c ${GTEST_DIR}/src/gtest-all.cc g++ -I${GTEST_INCLUDE} -I${GTEST_DIR} -I${GMOCK_INCLUDE} \ -I${GMOCK_DIR} -c ${GMOCK_DIR}/src/gmock-all.cc ar -rv libgmock.a gtest-all.o gmock-all.oProsty test:
#include <gtest/gtest.h> using namespace testing; int main() { EXPECT_EQ(1, 2); return 0; }I wreszcie kompilacja testu:
g++ -I${GTEST_INCLUDE} -I${GMOCK_INCLUDE} \ main.cpp ${GMOCK_LIB}/libgmock.a -lpthread -o mainOraz wynik:
$ ./main main.cpp:7: Failure Value of: 2 Expected: 1
Brak komentarzy:
Prześlij komentarz