CLang Code Abdeckung - Mac OS X - Linker Fehler

8

Ich konnte unter Verwendung der GCC-Funktionen von GCOV und des LCOV-Tools Code-Coverage-Informationen zu unserer C ++ - Code-Basis unter Linux erhalten.

Aber ich habe Probleme mit Mac OSX.

Da Apple den klassischen GCC-Compiler nicht mehr hat und wir befürchten, dass der LLVM-GCC-Compiler auch einmal verschwinden würde (LLVM-GCC ist in XCode 5.0 nicht als Option verfügbar), haben wir uns für CLang entschieden um unseren Code zu kompilieren.

Während ich den CLang-Compiler iam benutze, übergeben Sie diese Flags - & gt;   -g -fprofile-arcs -ftest-coverage zum Generieren der Code Coverage-Informationen.

Ich kann sehen, dass die .gcno-Dateien zusammen mit den Objektdateien erzeugt werden.

Wenn es um das Verknüpfen geht - "-lgcov" Linker-Flag, das mit GCC funktioniert, wird nicht unterstützt.

Die Codeabdeckung in Clang / LLVM wird jetzt von der Bibliothek "profile_rt" unterstützt. Leider ist es etwas schwierig, diese Bibliothek zu finden, weil Apple sich aus irgendeinem Grund dafür entschieden hat, sie nicht in den Standardbibliothekspfad aufzunehmen. Stattdessen müssen Sie manuell zu / usr / lib / navigieren, um dagegen zu verlinken:

Und wie angegeben bin ich mit libprofile.rt.a verbunden.

Aber ich habe Linker Probleme.

Aber ich bekomme immer diese Linker-Fehler

%Vor%

Ich habe auch versucht, gegen die dynamische Bibliothek libproprofile_rt.dylib, die in   / usr / lib Ordner - Aber ich bekomme immer noch das gleiche Problem.

Dies ist die CLang-Version, die auf Mountain Lion läuft.

%Vor%

Ich habe auch XCode 5.0 und Developer Tools installiert

Alle Antworten werden geschätzt.

Danke !!

    
kamyFC 10.10.2013, 08:38
quelle

3 Antworten

11

Ich habe das gelöst.

Ich habe die folgenden Linker Flags vermisst

-Wall -fprofile-arcs -ftest-coverage

    
kamyFC 11.10.2013, 13:05
quelle
3

Die obige Antwort funktionierte bei OSX Yosemite (10.10.3) mit Xcode 6.3.1 nicht. Es scheint, dass Apple diese Bibliotheken verschoben hat. Ich konnte es mit den folgenden Kompilieroptionen zum Laufen bringen:

%Vor%     
briandrawert 18.05.2015 22:03
quelle
1

Andere Linker Flag -fprofile-arcs behebt das Problem für mich.

%Vor%     
pkamb 19.09.2016 17:57
quelle

Tags und Links