0
我的鱼壳安装为我的fedora机器上的默认外壳。我最近切换到nvim,并使用deoplete-clang2进行自动完成。如何在鱼壳中使用compile_commands.json?
但它只是完成头文件的名称。所以基于这个issue我试着创建一个compile_commands.json
文件。
[
{
"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"
}
]
但是,当我运行clang-check main.c
来验证命令时会抛出以下错误。
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.
那么如何解决这个问题。谢谢
仍然抛出一个错误'''警告:回声:“连接”输入未使用[-Wunused的命令行参数的] 警告:在/ usr/bin/clang $(pkg-config --cflags gtk + -3.0)-o main main.c $(pkg-config --libs gtk + -3.0):'linker'input unused [-Wunused-command-line-argument] 错误:无法处理编译,预计在处理/mnt/Work/Learn/Gtk/Official/main.c时出现' 错误中的一个编译器作业。 ''' –
在这种情况下,它看起来像您的clang调用错误或者'pkg-config'不起作用。尝试在终端中执行'pkg-config'调用,看看输出是否符合您的期望。还要检查'echo'是否真的有必要 - 我不知道deoplete,所以我不确定这是否应该打印一个要执行的命令或直接命令。在后一种情况下,删除'echo'。 – faho
pkg-config完美地运行在终端上,并且一切都按预期工作,如果我手动运行pkg-config命令并在命令中替换输出。 –