I have started writing a GTK App in C, and since I am using clangd
as my language server, I want to configure it. The problem is, clangd
won't listen when I pass this as my compiler flags:
CompileFlags:
Add: [ $(pkg-config --cflags gtk4) ],
Remove: [ ],
Compiler: clang
I need to fix this if I want to make any use of the language server, so what do I do? (I use VSCode)
The .clangd
config file does not support executing commands via $(command)
.
The recommended way to configure a project for use with clangd is to generate a compile_commands.json
file based on your project's build metadata.
A simple way to do this is using bear. For example, if your project is built using make
, you can run bear -- make
and bear
will generate a compile_commands.json
file based on the compiler commands that make
invoked.
For more sophisticated build systems, the build system may itself provide a way to generate a compile_commands.json
file (for example, CMake has DCMAKE_EXPORT_COMPILE_COMMANDS=ON
).
For more details, see https://clangd.llvm.org/installation#project-setup.