After converting project from uVision to csolution and trying to build from VSCode I run into an issue with some source files not compiling.
When looking at the source file in VSCode, the intellisense part indicates nothing wrong with includes, but the compilation fails with " error: use of undeclared identifier "
Manually checking indicates no issues either...
When looking at the list of include directories supplied to armclang.exe however, I see a huge list of include directories that are not relevant for the source file in question.
In most cases this doesn't matter, but for this one, doing this creates conflicts between some headers from different suppliers which results in the compilation error.
I do not know why the build system decides to include paths to all directories where header files are stored when this is not how it works with uVision in which I had no problem.
It also makes no sense to me why the command line shown includes multiple instances of some flagsFor example this...--target=arm-arm-none-eabi -mcpu=Cortex-M33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard --target=arm-arm-none-eabi -mcpu=Cortex-M33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard --target=arm-arm-none-eabi
The CMakeLists file that is generated contains more include paths than those specified in yml files.
Essentially, any path that contain header files is added to that list.