Comment compiler googletest sur windows avec mingw avec msys?
Mon besoin est simple. J'ai de compiler et d'utiliser googletest sur windows avec MinGW avec msys. Quelqu'un a de l'expérience en faisant ça?
Merci pour les réponses.
Veuillez décrire ce qui ne va pas.
J'ai fais quelques progrès. Il semble qu'il ne peut pas s'installer sans un python qui je n'ai pas. Je suis attachant à résoudre maintenant.
J'ai fais quelques progrès. Il semble qu'il ne peut pas s'installer sans un python qui je n'ai pas. Je suis attachant à résoudre maintenant.
OriginalL'auteur Rusty Horse | 2011-03-09
Vous devez vous connecter pour publier un commentaire.
Il m'a fallu du temps mais j'ai tout compris. Voici le guide pour tous ceux qui font face au même problème.
Pour être en mesure de compiler GoogleTest sur Windows, suivez ces instructions:
Je suppose que vous avez MinGW avec MSYS istalled.
Télécharger et installer CMake sur le site officiel http://www.cmake.org/. Utilisez Win32 installer
version. Une fois que vous avez terminé le processus d'installation copie les fichiers exécutables à partir de
"xxx/CMake/bin" à "xxx/MinWG/bin".
Télécharger et installer Python à partir de http://www.python.org/. Encore une fois, le programme d'installation de Windows fait le travail
des beaux.
Une fois que vous avez terminé le processus d'installation de copier le "python.exe"
formulaire de python dossier
"xxx/MinWG/bin".
Télécharger la dernière version stable de GoogleTest de http://code.google.com/p/googletest/ et la décompresser dans un dossier.
Exécuter MSYS terminal et exécutez les commandes suivantes.
Si vous avez des erreurs de compilation à partir de pthread suivre ces instructions.
Copier le dossier inclure "xxx/gtest-x.x.x/include" dans votre MinGW gcc inclure.
Copiez les fichiers de la bibliothèque "xxx/gtest-x.x.x/*."dans votre MinGW gcc lib.
Lorsque vous compilez des tests d'ajouter "-lgtest" paramètre de gcc.
MODIFIER
Les commentateurs sont à droite. L'adaptation des exécutables travaillé pour moi, mais en général ce n'est pas une bonne pratique. Essayez d'utiliser un lien symbolique à la place.
En fait, les deux CMake et Python ne sont pas construire de manière statique, de sorte que les deux d'entre eux ne fonctionnent pas (plantage et boucle infinie) lorsqu'il est appelé à partir de msys shell.
OriginalL'auteur Rusty Horse
De construire libgtest.un sans cmake/python, mais seulement en utilisant mingw faire, gtest a maintenant un "faire" dossier avec un simple vieux makefile.
La bibliothèque créée est une pleine bibliothèque statique avec pas de dll générée.
Qui devrait être tout.
Par la voie, cela fonctionne aussi pour la construction de googlemock, il suffit d'entrer le googlemock dossier au lieu de googletest, et suivez la même procédure.
OriginalL'auteur Jesper Matthiesen
Comme alternative, il est également possible de construire googletest à l'aide de l'habitude MSYS/Mingw faire.
Voici donc mon autre façon:
Assurez-vous de MSys/MingW est installé sur votre système Windows et de l'environnement PATH est jeu de
Ouvrir une fenêtre cmd - vous pouvez définir le CHEMIN explicitement ici
CD sur le décompressé googletest répertoire
Appeler configurer avec sh (partie de MSys):
sh configure
Appel
make
->libgtest.a
doit être construit. Il est placé dans votre googletest-répertoirelib/.libs
sous-répertoireVoir le fichier README de googletest de la façon d'intégrer les
libgtest.a
de votre système. Voir aussi googletest amorce dans l' googletest wiki de la compilation. Sinon, spécifiez le chemin de la bibliothèque pour gcc-L<googleTestDir>/lib/.libs
et ajouter-lgtest
de lien avec votre projet de test exécutables.Lors de l'utilisation de
ASSERT_DEATH
macro pour vérifier les assertions dans votre code à tester (ce qui signifie affirme, dans votre lib ou de l'application, pas dans googletest), appelSetErrorMode
- exemple principal:OriginalL'auteur michael_s
Vous n'avez pas besoin de copier les fichiers binaires aussi longtemps que vous les avez dans votre chemin. Installer python et CMake. Tester dans votre msys (MinGW console)
Si vous voyez le chemin, alors vous avez les fichiers binaires. Si non, ajouter leur chemin d'accès à votre Environnement de Variables>CHEMIN d'accès ou juste le mettre à jour au sein de la pme (mise à jour les chemins d'installation si nécessaire)
Alors vous pouvez construire comme l'a suggéré:
Tester si tout fonctionne:
OriginalL'auteur Halil Kaskavalci