Ich möchte das einfachste GTK-Programm kompilieren. Ich kann es über die Befehlszeile kompilieren:
%Vor%Wenn ich jedoch mache, dass es nicht funktioniert:
%Vor%Es sagt mir Folgendes:
%Vor%Wo bleibe ich $ (pkg-config --cflags --libs gtk + -3.0) im Makefile, um es kompilieren zu lassen?
Vielen Dank im Voraus für Ihre freundliche Hilfe.
Es gibt zwei Probleme.
Zuerst ist deine CFLAGS
-Zeile falsch: du hast vergessen, gtk+-3.0
im pkg-config
-Teil zu sagen, so dass pkg-config
stattdessen einen Fehler ausspuckt:
Zweitens, und wichtiger, wird $(...)
von make selbst zur Variablensubstitution abgefangen. Tatsächlich hast du das schon gesehen:
wird alles von make gemacht.
Es gibt zwei Dinge, die Sie tun können.
Zuerst können Sie stattdessen '...'
verwenden, was das Gleiche bewirkt ( $(...)
ist die neuere Shell-Syntax).
Zweitens, da Sie anscheinend GNU make verwenden, können Sie den Befehl shell
substitution verwenden, der in der oben verlinkten Antwort Basile Starynkevitch gezeigt wurde:
um den angegebenen Fehler zu beheben:
"main.c: 1: 21: fataler Fehler: gtk / gtk.h: Keine solche Datei oder kein Verzeichnis"
Die Fehlermeldung besagt, dass die Datei gtk / gtk.h nicht gefunden werden kann
korrigieren Sie, indem Sie der gcc-Kompilierungsanweisung den richtigen Pfad hinzufügen:
%Vor%korrigieren Sie, indem Sie der GCC-Link-Anweisung den Pfad und den Bibliotheksnamen hinzufügen:
%Vor%Es würde sich auch sehr lohnen, in die pkg-config-Datei zu schauen, um genau zu sehen, was sie enthält / ausführt
%Vor%