Bevor Sie beginnen, stellen Sie sicher, dass Sie diesen Hinweis von Google gelesen und verstanden haben
! Dieses Tutorial erleichtert die Verwendung von gtest, kann jedoch böse Fehler verursachen .
1. Holen Sie sich das Googletest-Framework
wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz
Oder holen Sie es von Hand . Ich werde dieses kleine How-to nicht beibehalten. Wenn Sie also darauf gestoßen sind und die Links veraltet sind, können Sie es jederzeit bearbeiten.
2. Entpacken und erstellen Sie den Google-Test
tar xf release-1.8.0.tar.gz
cd googletest-release-1.8.0
cmake -DBUILD_SHARED_LIBS=ON .
make
3. "Installieren" Sie die Header und Bibliotheken auf Ihrem System.
Dieser Schritt kann von Distribution zu Distribution unterschiedlich sein. Stellen Sie daher sicher, dass Sie die Header und Bibliotheken in das richtige Verzeichnis kopieren. Ich habe dies erreicht, indem ich überprüft habe, wo sich Debians frühere gtest-Bibliotheken befanden. Aber ich bin mir sicher, dass es dafür bessere Möglichkeiten gibt. Hinweis: make install
ist gefährlich und wird nicht unterstützt
sudo cp -a googletest/include/gtest /usr/include
sudo cp -a googlemock/gtest/libgtest_main.so googlemock/gtest/libgtest.so /usr/lib/
4. Aktualisieren Sie den Cache des Linkers
... und prüfen Sie, ob der GNU Linker die Bibliotheken kennt
sudo ldconfig -v | grep gtest
Wenn die Ausgabe so aussieht:
libgtest.so.0 -> libgtest.so.0.0.0
libgtest_main.so.0 -> libgtest_main.so.0.0.0
dann ist alles in Ordnung.
gTestframework ist jetzt einsatzbereit. Vergessen Sie nicht, Ihr Projekt mit der Bibliothek zu verknüpfen, indem Sie es -lgtest
als Linker-Flag und optional, wenn Sie keine eigene Test-Mainroutine geschrieben haben, als explizites -lgtest_main
Flag festlegen .
Von hier an möchten Sie möglicherweise die Googles- Dokumentation und die alten Dokumente zum Framework aufrufen, um zu erfahren, wie es funktioniert. Viel Spaß beim Codieren!
Bearbeiten:
Dies funktioniert auch für OS X! Siehe "So richten Sie googleTest unter OS X ordnungsgemäß ein"
./configure && make && make install
Workflow einwandfrei funktionieren sollte. Ich bin mir nicht sicher, ob dies einen Beitrag rechtfertigt, da es sich nicht von der Kompilierung vieler anderer Pakete aus dem Quellcode unterscheiden würde.