clang: warning: -l *: Linker-Eingang nicht benutzt

8

Wenn ich Code mit GNU kompiliere, bekomme ich mehrere Warnungen wie:

%Vor%

Das liegt wahrscheinlich daran, dass ich etwas in meinem Makefile (unten) vermasselt habe. Kann mir jemand auf das Problem hinweisen?

%Vor%     
mareks 04.11.2013, 18:44
quelle

2 Antworten

9

Diese Nachricht bedeutet, dass Sie Linker-Flags (wie -l , das den Linker anweist, eine Bibliothek einzulesen) an den Compiler übergibt.

Dies bedeutet, dass das Ergebnis der Ausführung von root-config --cflags --glibs Linker-Flags generiert und diese in CXXFLAGS gehen, das an den Compiler übergeben wird. Ich weiß nicht, was root-config ist, aber Sie sollten seine Befehlszeile untersuchen und sie so aufrufen, dass Linker-Flags nicht generiert werden. Wahrscheinlich wird das Entfernen der --glibs Option es tun.

ETA: Sie wirklich möchten := verwenden, um diese Flags-Variablen zuzuweisen, wenn Sie $(shell ...) dort ausführen wollen. Es funktioniert auf jeden Fall, aber wenn Sie = verwenden, wird der Shell-Befehl jedes Mal ausgeführt, wenn make die Variable erweitert. Dies ist einmal pro Kompilierung. Wenn Sie := verwenden, wird es nur einmal ausgeführt, wenn das Makefile geparst wird.

    
MadScientist 04.11.2013, 19:02
quelle
2

Ich habe den gleichen Fehler und der Grund war, dass ich vergessen habe, -I vor meinen eingeschlossenen Pfaden für cflags in Makefile hinzuzufügen. Zum Beispiel:

%Vor%     
ManyuBishnoi 22.04.2016 17:53
quelle

Tags und Links