Configurer google glog et gflags pour le c++
J'ai essayé de configurer le google bibliothèque de journalisation glog pour mon application C++ mais je ne trouve aucune information sur la façon de la faire travailler, et les messages d'erreur sont moins utiles.
C'est l'exemple de code que j'essaie de l'exécuter, et je suis d'exécution ./myapp --v=2
, mais j'obtiens l'ERREUR "error: unknown option de ligne de commande "v"". Est-il de toute la documentation de cette bibliothèque, ou faire ce que quelqu'un sait comment configurer correctement?
#include <glog/logging.h>
#include <gflags/gflags.h>
int main(int argc, char** argv) {
google::InitGoogleLogging(argv[0]);
google::ParseCommandLineFlags(&argc, &argv, true);
VLOG(1) << "I'm printed when you run the program with --v=1 or higher";
VLOG(2) << "I'm printed when you run the program with --v=2 or higher";
return 0;
}
La documentation google-glog.googlecode.com/svn/trunk/doc/glog.html ne pas mentionner votre appel à
Si je ne comprend pas que le code pas de ligne de commande de l'analyse est effectuée et aucune journalisation est activée. Le google-glog "documentation" fait référence le gflags "documentation" que cet appel est mentionné
Aussi, il est préférable de faire appel à
google::ParseCommandLineFlags(&argc, &argv, true);
... ce qui arrive si vous n'avez pas l'inclure?Si je ne comprend pas que le code pas de ligne de commande de l'analyse est effectuée et aucune journalisation est activée. Le google-glog "documentation" fait référence le gflags "documentation" que cet appel est mentionné
Aussi, il est préférable de faire appel à
ParseCommandLineFlags
tout d'abord, comme tout glog
des indicateurs spécifiques ne prendra pas effet (par exemple --logtostderr=true
) jusqu'à ce que les options de ligne de commande sont analysées.OriginalL'auteur user3235200 | 2014-05-10
Vous devez vous connecter pour publier un commentaire.
GLog besoins GFlags compilé dans le "google" de l'espace de noms au lieu de la valeur par défaut "gflags" espace de noms.
Afin de définir cet espace de noms, vous devez compiler et installer gflags à partir de la source et de l'ensemble de la GFLAGS_NAMESPACE variable "google".
Voici les étapes que j'ai suivi dans Kubuntu 14.04 et devrait être similaire à ce que vous devriez faire dans Mac OSX. Ces aura lieu le GFlags source dans /usr/local/src et installer la bibliothèque dans le répertoire /usr/local/lib&inclure des répertoires. La dernière commande (ldconfig) les registres de la bibliothèque dans le système.
Alternativement, vous pouvez appliquer le patch suivant dans le GLog de la source (ci-joint dans la dernière réponse):
https://code.google.com/p/google-glog/issues/detail?id=194
Essentiellement, il utilise l'espace de noms de gflags après le comprend sur les GLogs de test de l'unité de source de fichiers comme:
OriginalL'auteur Elias Kouskoumvekakis