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.
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: