Je pourrais obtenir des informations de couverture de code sur notre base de code C++ sous Linux en utilisant les fonctions GCC de GCOV et l'outil LCOV.Couverture de code CLang - Mac OS X - Erreur de lieur
Mais j'ai des problèmes avec Mac OSX. Comme Apple n'a plus le compilateur GCC classique, et nous craignons que le compilateur LLVM-GCC disparaisse un jour (LLVM-GCC n'est même pas disponible en option dans XCode 5.0) - nous avons décidé d'utiliser CLang pour compiler notre code.
Lors de l'utilisation du compilateur CLam iam en passant ces indicateurs -> -g -fprofile-arcs -ftest-coverage pour générer les informations de couverture de code.
Je peux voir les fichiers .gcno générés avec les fichiers objets.
Quand il vient à relier - « -lgcov » drapeau de liaison qui travaille avec GCC est pas pris en charge
La couverture de code sur Clang/LLVM est maintenant pris en charge par la librairie « profile_rt » Malheureusement, il est un peu.. difficile à trouver cette bibliothèque parce que Apple pour une raison quelconque a décidé de ne pas l'inclure dans le chemin de la bibliothèque par défaut.Au lieu, vous devrez naviguer manuellement dans/usr/lib/pour lier:
bibliothèque libprofile_rt.a
Mais j'ai des problèmes de liaison.
Mais je continue à recevoir ces erreurs de l'éditeur de liens
Undefined symbols for architecture x86_64:
"_llvm_gcov_init", referenced from:
___llvm_gcov_init in Iso9660Reader.o
___llvm_gcov_init in AutoExtractCreator.o
___llvm_gcov_init in TempFilePath.o
___llvm_gcov_init in TempPath.o
___llvm_gcov_init in ReadDirectory.o
___llvm_gcov_init in OpenDirectory.o
___llvm_gcov_init in SpltPath.o
...
ld: symbol(s) not found for architecture x86_64
J'ai aussi essayé liaison avec la bibliothèque dynamique - libprofile_rt.dylib trouvée dans le dossier /usr/lib - Mais je reçois toujours la même question.
Cette version CLang s'exécute sur Mountain Lion.
clang --version
Apple LLVM version 5.0 (clang-500.2.75) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin12.5.0
Thread model: posix
J'ai aussi XCode 5.0 et outils de développement installé
Toutes les réponses seront appréciées.
Merci!
Avec quoi analysez-vous les résultats? –
Ce problème m'est arrivé lors de l'utilisation de Slather pour la couverture de code et Injection pour Xcode, la solution de contournement dans cette réponse a également fonctionné dans ce cas. –
Ce sont des indicateurs de compilation et non des indicateurs de liens. Il semble peu probable qu'ils corrigent une erreur de lien, et ils ne la fixent pas pour moi ... – poolie