我已经从自己用Python编写的构建系统中导出了编译命令JSON。一切都能正确编译,因此命令或源代码中没有问题。我的一些编译命令是:
[
{
"arguments": [
"/usr/bin/avr-gcc",
"-DNDEBUG",
"-Os",
"-I/home/patryk/Projects/ModularOS/modularos-core",
"-I/home/patryk/Projects/ModularOS/modularos-usart",
"-mmcu=atmega16",
"-DF_CPU=16000000",
"-c",
"-o",
"/home/patryk/Projects/ModularOS/build/release/obj_modularos-core_atmega16_16000000/modularos-core/asm.o",
"/home/patryk/Projects/ModularOS/modularos-core/modularos-core/asm.c"
],
"file": "/home/patryk/Projects/ModularOS/modularos-core/modularos-core/asm.c",
"directory": "/home/patryk/Projects/ModularOS"
},
...
]
当我使用IntelliSense时,存在诸如__AVR
之类的定义,但是尽管我使用了__AVR_ATmega16
arg,却没有诸如-mmcu=atmega16
之类的定义。哪里有问题?我是否必须自己导出所有定义并将其放入c_cpp_properties.json
中?这似乎是某种错误或未实现的功能。