Ich habe Fisch Shell als Standard-Shell auf meinem Fedora-Maschine installiert. Ich bin kürzlich zu nvim gewechselt und benutze deoplete-clang2 für die automatische Vervollständigung.Wie verwende ich compile_commands.json in der Fischschale?
Aber nur die Namen der Header-Dateien vervollständigen. Basierend auf dieser issue habe ich versucht, eine compile_commands.json
Datei zu erstellen.
[
{
"directory" : "/mnt/Work/Learn/Gtk/Official",
"command" : " /usr/bin/bash echo \"/usr/bin/clang (pkg-config --cflags gtk+-3.0) -o main main.c (pkg-config --libs gtk+-3.0)\"",
"file" : "/mnt/Work/Learn/Gtk/Official/main.c"
}
]
Aber wenn ich laufen clang-check main.c
die Befehle die folgenden Fehler geworfen werden, um zu überprüfen.
error: unsupported option '--cflags'
error: unsupported option '--libs'
warning: (pkg-config: 'linker' input unused [-Wunused-command-line-argument]
warning: gtk+-3.0): 'linker' input unused [-Wunused-command-line-argument]
warning: (pkg-config: 'linker' input unused [-Wunused-command-line-argument]
warning: gtk+-3.0): 'linker' input unused [-Wunused-command-line-argument]
In file included from main.c:2:
/usr/include/gtk-3.0/gtk/gtk.h:30:10: fatal error: 'gdk/gdk.h' file not found
#include <gdk/gdk.h>
^~~~~~~~~~~
1 error generated.
Error while processing /mnt/Work/Learn/Gtk/Official/main.c.
Wie kann ich das beheben? Danke
wirft noch einen Fehler '' 'Warnung: echo: 'Linker' input ungenutzt [-Wunused-Befehlszeilenargument] Warnung:/usr/bin/clang $ (pkg-config --cflags gtk + -3.0) -o main main.c $ (pkg-config --libs gtk + -3.0): 'Linker' Eingabe unbenutzt [-Wunused-Kommandozeilenargument] Fehler: Kompilierung nicht möglich, erwartet genau einen Compilerjob in '' Fehler bei der Verarbeitung von /mnt/Work/Learn/Gtk/Official/main.c. '' ' –
In diesem Fall sieht es so aus, als ob Ihr Aufruf kling falsch ist oder' pkg-config' nicht funktioniert. Versuchen Sie die 'pkg-config' Aufrufe in einem Terminal auszuführen und sehen Sie, ob die Ausgabe Ihren Erwartungen entspricht. Überprüfen Sie auch, ob das echo tatsächlich notwendig ist - ich weiß nicht, ob es sich um eine Endlosschleife handelt, daher bin ich mir nicht sicher, ob dies einen Befehl ausgibt, der ausgeführt werden soll, oder direkt der Befehl sein soll. Im letzteren Fall entfernen Sie das Echo. – faho
pkg-config funktioniert perfekt onna-Terminal, und alles funktioniert wie erwartet, wenn ich den Befehl pkg-config manuell ausführen und die Ausgabe im Befehl ersetzen. –