2011-05-27 2 views
1

Je ne parvient pas à générer un fichier exécutable de test contenant tous mes mes google tests avec autotools.Comment gérer autotools pour créer un fichier google test exec?

Notre projet de développement est assez grand et contient plusieurs modules. Donc, ce que je veux, c'est que chaque module crée un fichier test lib/objet et ensuite les crée pour créer un seul fichier exec de test (en passant par make test)

Ce Makefile.am compile, mais ne lance aucun test : (tests ne sont pas enregistrés automatiquement, il est en cours d'exécution avec 0 essai)

noinst_LTLIBRARIES = libtest2.la 
libtest2_la_SOURCES = test2.cpp 
libtest2_la_LIBADD = lib/libgtest.la 
libtest2_la_CXXFLAGS = -I./include 
TESTS = testall 
check_PROGRAMS = testall 
testall_SOURCES = test2.cpp 
testall_CXXFLAGS = -I./include 
testall_LDADD = libtest2.la lib/libgtest_main.la 

Bien sûr, celui-ci fonctionne (mais il est pas ce que je veux):

testall_SOURCES = test2.cpp 
testall_CXXFLAGS = -I./include 
testall_LDADD = lib/libgtest_main.la 

Qu'est-ce que le vrai différence entre les deux? Comment puis-je faire fonctionner ces tests dans mon projet?

Répondre

1

La page wiki d'essai de Google Test contient un special section sur les tests dans les bibliothèques. Il est formulé pour les utilisateurs Visual C++ mais s'applique également aux bibliothèques statiques sous GCC. En bref, vous devez référencer vos bibliothèques avec des tests afin d'empêcher l'éditeur de liens de les jeter.

+0

Thx. Des informations supplémentaires sont disponibles sur http://osdir.com/ml/gcc.g++.general/2006-04/msg00036.html. Je l'ai fait fonctionner avec --whole-archive. – smad

Questions connexes