c_cpp_properties.json
, most of my #includes
are now working. However, a line such as this:includePath
includes:msvc-x64
).uint32_t
is?stdint.h
looks like this:stdint-gcc.h
contains:__UINT32_TYPE__
is NOT defined when VSC is parsing my code, but it IS defined when I build with make and gcc.c_cpp_properties.json
file here:gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/include/stdint.h
had __STDC_HOSTED__
defined and therefore stdint-gcc.h
was not actually being included. Instead, that header does an 'include_next <stdint.h>
', which finds gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include/stdint.h
. I still can't see where unint32_t is defined, either for gcc and make or for VSC.__UINT32_TYPE__
is NOT defined when VSC is parsing my code, but it IS defined when I build with make and gcc.' The ARM cross-compiler has many built-in defines that are not included in the clang-x64 parser.-dM -E
options. On Windows I was able to dump the output to a file with echo | arm-none-eabi-gcc -dM -E - > gcc-defines.txt
c_cpp_properties.json
file. Note that where the #define sets a value, you need to use an =
sign here. (You could probably just add individual defines as you need them, but I used Excel to format them as needed and sort. The first defines are for my project, matching the defines in my Makefile.)stdint-gcc.h
, any uses of the types still produced errors. I realized in my c_cpp_properties.json
file that I had 'databaseFilename': '
This is used for the 'generated symbol database', but was not configured properly. I set it to: