CMake kann keine erforderliche Bibliothek finden

8

Das ist meine CMakeLists.txt:

%Vor%

Beim Ausführen von cmake erhalte ich den folgenden Fehler:

%Vor%

Wie löst man das?

    
friko 04.07.2013, 12:04
quelle

2 Antworten

11

Sie haben es rückwärts. Der Aufruf find_package soll den Speicherort der gtest-Bibliothek für Sie finden. Sie müssen die Include- und Bibliothekspfade nicht mehr manuell angeben:

%Vor%

Werfen Sie einen Blick auf das FindGTest.cmake in Ihrem CMake Modulverzeichnis für Details.

Das Problem, warum Sie die Fehlermeldung erhalten haben, ist, dass find_package(GTest REQUIRED) gtest auf Ihrem System nicht finden kann. Mit dem Parameter REQUIRED haben Sie CMake aufgefordert, sofort fehlzuschlagen, wenn die Bibliothek nicht gefunden werden kann (was hier eigentlich richtig ist).

Sie müssen also FindGTest angeben, um Ihre Bibliothek zu finden. Leider gibt es dafür keine Standardmethode, da die Informationen zum Auffinden einer Bibliothek von Bibliothek zu Bibliothek variieren. Sie müssen also die Quelle des Suchskripts überprüfen.

Dies wird Ihnen sagen, dass FindGTest auf die Umgebungsvariable GTEST_ROOT angewiesen ist, um die Bibliothek zu finden. Setze diese Umgebungsvariable auf den Pfad deiner gtest Installation, führe CMake erneut aus und du solltest in Ordnung sein.

Wenn das Layout Ihrer Installation von dem von FindGTest erwarteten Layout abweicht, müssen Sie möglicherweise stattdessen ein eigenes Suchskript schreiben. Die mit CMake gelieferten Suchskripte sind normalerweise ziemlich gut, aber manchmal funktionieren sie auf bestimmten Plattformen nicht ohne weiteres. Wenn Sie einen Patch finden, der Unterstützung für Ihre Plattform bietet, ist es normalerweise kein Problem, ihn in die offizielle CMake-Distribution zu integrieren.

Beachten Sie, dass, wenn Sie beabsichtigen, gtest selbst zu erstellen (anstatt die von Ihrem Betriebssystem bereitgestellten Binärdateien zu verwenden), die Verwendung des Suchskripts von vornherein nicht die beste Idee ist. Sie sollten stattdessen ein importiertes Ziel verwenden.

    
ComicSansMS 04.07.2013 12:22
quelle
0

Sie müssen das Google Test Framework installieren.

Unter Debian / Ubuntu:

%Vor%

Quelle: Ссылка

    
Stan 20.10.2017 13:44
quelle

Tags und Links