代码之家  ›  专栏  ›  技术社区  ›  MegaMagnum

如何使用CMake和clangd设置VSC以使用Linux内核开发进行intellisense?

  •  0
  • MegaMagnum  · 技术社区  · 2 年前

    我正试图在Linux上使用visualstudio代码开发一个内核驱动程序。 对于语法高亮显示,我习惯于将clangd与cmake一起使用。

    我试图为内核开发设置一个cmake文件,但无法使其正常工作。 至于现在,我只是使用一个简单的makefile。

    obj-m += src/*.o
    
    all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
    
    clean:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
    

    这个解决方案很好,但这意味着我没有智能。如何为Linux内核开发设置intellisense?

    0 回复  |  直到 2 年前
        1
  •  0
  •   MegaMagnum    2 年前

    我找到了一个解决方案。 看了之后 clangd installation documentation ,对其进行了描述;

    对于基于制造的构建,您可以运行 make clean; bear -- make 以生成文件(并运行干净的构建!)。

    在制作了下面这样的makefile并运行了上面的命令之后。Visual Studio Code+clangd能够自行解决智能感知问题。

    obj-m += Driver.o
    
    all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
    
    clean:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean