2013-02-04 13 views
8

Woher weiß ich, welche Version von Gtest in dem Projekt verwendet wird, mit dem ich arbeite? Ich arbeite an einer Linux-Plattform.Stellen Sie die gtest-Version her

+0

infusionieren oder verknüpfen? –

+0

@ BЈOVћћ Verlinkung – Baz

+0

Welche Dateien von gtest sehen Sie in Ihrem Projekt? Können Sie den Ordner finden, in dem sich gtest/gtest.h befindet? – Strubbl

Antwort

0

Die Datei Änderungen im Gtest Home-Verzeichnis enthält eine Gtest Versionsnummer.

1

Der Quellcode von libgtest oder libgtest_main Bibliotheken enthält keine speziellen Funktionen, die ihre Version erkennen (etwas wie GetGTestVersion() oder etwas anderes). Auch Header-Dateien hat keine definierten Bezeichner (etwas wie GTEST_VERSION oder etwas anderes). Sie können also die Version Google C++ Testing Framework zur Laufzeit nicht innerhalb des Benutzercodes überprüfen.

Aber Maintainer bieten als Teil des Rahmen spezielles Skript scripts/gtest-conf die:

... 
provides access to the necessary compile and linking 
flags to connect with Google C++ Testing Framework, both in a build prior to 
installation, and on the system proper after installation. 
... 

unter anderem das Skript mehrere Möglichkeiten hat, die mit der Version verbunden:

... 
Installation Queries: 
... 
--version the version of the Google Test installation 

Version Queries: 
--min-version=VERSION return 0 if the version is at least VERSION 
--exact-version=VERSION return 0 if the version is exactly VERSION 
--max-version=VERSION return 0 if the version is at most VERSION 
... 

Das Skript auch Anwendungsbeispiel enthalten davon:

Examples: 
gtest-config --min-version=1.0 || echo "Insufficient Google Test version." 
... 

Es bedeutet, dass wir Er kann die Version des Frameworks in der Build-Zeit mit dem Skript gtest-config testen.

Hinweis:

Das Skript gtest-config aktuelle Version des Frameworks bei der Konfiguration durch in configure.ac deklarierten Variablen erhalten.

... 
AC_INIT([Google C++ Testing Framework], 
     [1.7.0], 
     [[email protected]], 
     [gtest]) 
... 

Und nach bevölkerten autoconf folgende Bezeichner innerhalb configure Datei aufrufen:

... 
# Identity of this package. 
PACKAGE_NAME='Google C++ Testing Framework' 
PACKAGE_TARNAME='gtest' 
PACKAGE_VERSION='1.7.0' 
PACKAGE_STRING='Google C++ Testing Framework 1.7.0' 
PACKAGE_BUGREPORT='[email protected]' 
PACKAGE_URL='' 
... 
# Define the identity of the package. 
PACKAGE='gtest' 
VERSION='1.7.0' 
... 

Was die mit Option kompiliert Rahmen AC_CONFIG_HEADERS diese Identifikatoren in die Datei für den Benutzer bei der Kompilierung build-aux/config.h und availiable gespeichert.

Verwandte Themen