Ich lerne derzeit, wie man MakeFiles für Programme in C++ erstellt und verwendet. Ich konnte Makefiles für normale CPP-Klassen erstellen und ausführen, aber ich habe ein Problem mit Testklassen. Für die Prüfung bin ich Gtest in Code :: Blocks, und in meiner Test_A.cpp Datei in den "Linker Settings", ergänze ich mit:Einschließlich gtest-Bibliotheken in Makefiles für Unit-Test-Dateien:
/usr/lib/libgtest.a
/usr/lib/libgtest_main.a
und für die anderen Linker-Optionen I "-pthread" setzen. Ich weiß, dass diese Bibliotheken irgendwie in das Makefile eingefügt werden müssen, aber ich kann mir nicht vorstellen, wie. Ich ursprünglich dachte, sie in Zeile 3, aber alles hinzugefügt werden muß versuchen, ich kehren Tausende von Zeilen Fehler des Typs:
undefined reference to `testing::Test::TearDown()
undefined reference to `testing::Test::~Test() etc....
Meine Make-Datei:
1. all: Test
2. Test_A.o: Test_A B.h
3. g++ -c Test_A.cpp -o Test_A.o
4. Test: Test_A.o
5. g++ -o Test Test_A.o
6. clean:
7. rm -rf *o *~
ich musste nach -lgtest_main.a setzen -lpthread, wie pro https://stackoverflow.com/questions/10315016/error-during-making-gtest – Will