platformio / platformio-core

Your Gateway to Embedded Software Development Excellence :alien:
https://platformio.org
Apache License 2.0
7.89k stars 792 forks source link

Constant include errors with ClangD and generated compile_commands.json #4684

Closed jiriks74 closed 1 year ago

jiriks74 commented 1 year ago

What kind of issue is this?

Configuration

Operating system: KDE Neon 5.27

PlatformIO Version: 6.1.7

Description of problem

ClangD includes either system header files or doesn't see them at all.

If you include Arduino.h you'll get this error if you don't have gcc-multilib installed on your system: clang: 'bits/libc-header-start.h' file not found [pp_file_not_found].

If you do have gcc-multilib on your system then you'll get this error instead: clang: In included file: 'avr/pgmspace.h' file not found [pp_file_not_found].

When looking into the Arduino.h file I can see that eg. the bits/libc-header-start.h is from the system header files instead of the Arduino ones:

Image ![image](https://github.com/platformio/platformio-core/assets/54378412/e43582b6-b139-49d2-bdb1-45e0ad4f6e70)

Steps to Reproduce

  1. pio project init --board uno
  2. touch src/main.cpp
  3. Open main.cpp
  4. Add #include <Arduino.h> and see the error
  5. pio run -t compiledb
  6. If present from the start create some header file in the include directory and do the same as in main.cpp

Expected Results

ClangD correctly solving header paths so the code completion works

If problems with PlatformIO Build System:

The content of platformio.ini: ```ini ; PlatformIO Project Configuration File ; ; Build options: build flags, source filter ; Upload options: custom upload port, speed and extra flags ; Library options: dependencies, extra library storages ; Advanced options: extra scripting ; ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html [env:uno] platform = atmelavr board = uno framework = arduino ```

Source file to reproduce issue:

#include <Arduino.h>

Additional info

While writing this issue I figured out that it works as expected if you first run pio project init --board uno && pio run -t compiledb and then create the main.cpp file with #include <Arduino.h>. If you do it the other way around or you run pio run -t compiledb after creating the main.cpp file you'll get these errors.

ivankravets commented 1 year ago

This is a bug and fixed it. Please re-test with pio upgrade --dev.

jiriks74 commented 1 year ago

Thanks @ivankravets it works <3

ubaldot commented 9 months ago

This issue In included file: 'avr/pgmspace.h' file not found [pp_file_not_found] seems to be back. I am running PlatformIO Core, version 6.1.12b2, this is my .ccls file:

clang

%c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto
%cpp -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto

-I/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue/include
-I/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue/src
-I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino
-I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard
-I/Users/ubaldot/.platformio/packages/framework-arduino-avr/libraries/EEPROM/src
-I/Users/ubaldot/.platformio/packages/framework-arduino-avr/libraries/HID/src
-I/Users/ubaldot/.platformio/packages/framework-arduino-avr/libraries/SPI/src
-I/Users/ubaldot/.platformio/packages/framework-arduino-avr/libraries/SoftwareSerial/src
-I/Users/ubaldot/.platformio/packages/framework-arduino-avr/libraries/Wire/src
-I/Users/ubaldot/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/7.3.0/include
-I/Users/ubaldot/.platformio/packages/toolchain-atmelavr/lib/gcc/avr/7.3.0/include-fixed
-I/Users/ubaldot/.platformio/packages/toolchain-atmelavr/avr/include

-DPLATFORMIO=60112
-DARDUINO_AVR_UNO
-DF_CPU=16000000L
-DARDUINO_ARCH_AVR
-DARDUINO=10808
-D__AVR_ATmega328P__

I am using MacVim, using clangd as LSP server. I can build the SW and I have created the compile_commands.json file with pio run -t compiledb, which is the following:

[
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/CDC.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/CDC.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/CDC.cpp",
        "output": ".pio/build/uno/FrameworkArduino/CDC.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial.cpp",
        "output": ".pio/build/uno/FrameworkArduino/HardwareSerial.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/HardwareSerial0.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial0.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial0.cpp",
        "output": ".pio/build/uno/FrameworkArduino/HardwareSerial0.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/HardwareSerial1.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial1.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial1.cpp",
        "output": ".pio/build/uno/FrameworkArduino/HardwareSerial1.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/HardwareSerial2.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial2.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial2.cpp",
        "output": ".pio/build/uno/FrameworkArduino/HardwareSerial2.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/HardwareSerial3.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial3.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/HardwareSerial3.cpp",
        "output": ".pio/build/uno/FrameworkArduino/HardwareSerial3.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/IPAddress.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/IPAddress.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/IPAddress.cpp",
        "output": ".pio/build/uno/FrameworkArduino/IPAddress.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/PluggableUSB.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/PluggableUSB.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/PluggableUSB.cpp",
        "output": ".pio/build/uno/FrameworkArduino/PluggableUSB.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/Print.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/Print.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/Print.cpp",
        "output": ".pio/build/uno/FrameworkArduino/Print.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/Stream.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/Stream.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/Stream.cpp",
        "output": ".pio/build/uno/FrameworkArduino/Stream.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/Tone.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/Tone.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/Tone.cpp",
        "output": ".pio/build/uno/FrameworkArduino/Tone.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/USBCore.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/USBCore.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/USBCore.cpp",
        "output": ".pio/build/uno/FrameworkArduino/USBCore.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/FrameworkArduino/WInterrupts.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/WInterrupts.c",
        "output": ".pio/build/uno/FrameworkArduino/WInterrupts.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/WMath.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/WMath.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/WMath.cpp",
        "output": ".pio/build/uno/FrameworkArduino/WMath.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/WString.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/WString.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/WString.cpp",
        "output": ".pio/build/uno/FrameworkArduino/WString.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/abi.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/abi.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/abi.cpp",
        "output": ".pio/build/uno/FrameworkArduino/abi.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/FrameworkArduino/hooks.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/hooks.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/hooks.c",
        "output": ".pio/build/uno/FrameworkArduino/hooks.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/main.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/main.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/main.cpp",
        "output": ".pio/build/uno/FrameworkArduino/main.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/FrameworkArduino/new.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/new.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/new.cpp",
        "output": ".pio/build/uno/FrameworkArduino/new.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/FrameworkArduino/wiring.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring.c",
        "output": ".pio/build/uno/FrameworkArduino/wiring.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/FrameworkArduino/wiring_analog.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_analog.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_analog.c",
        "output": ".pio/build/uno/FrameworkArduino/wiring_analog.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/FrameworkArduino/wiring_digital.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_digital.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_digital.c",
        "output": ".pio/build/uno/FrameworkArduino/wiring_digital.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -mmcu=atmega328p -x assembler-with-cpp -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard -c -o .pio/build/uno/FrameworkArduino/wiring_pulse.S.o /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_pulse.S",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_pulse.S",
        "output": ".pio/build/uno/FrameworkArduino/wiring_pulse.S.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/FrameworkArduino/wiring_pulse.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_pulse.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_pulse.c",
        "output": ".pio/build/uno/FrameworkArduino/wiring_pulse.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/FrameworkArduino/wiring_shift.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard /Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_shift.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino/wiring_shift.c",
        "output": ".pio/build/uno/FrameworkArduino/wiring_shift.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/event_groups.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/event_groups.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/event_groups.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/event_groups.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/heap_3.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/heap_3.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/heap_3.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/heap_3.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/list.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/list.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/list.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/list.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/port.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/port.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/port.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/port.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/queue.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/queue.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/queue.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/queue.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/stream_buffer.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/stream_buffer.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/stream_buffer.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/stream_buffer.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/tasks.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/tasks.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/tasks.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/tasks.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-gcc -o .pio/build/uno/libc17/FreeRTOS/timers.c.o -c -std=gnu11 -fno-fat-lto-objects -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/timers.c",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/timers.c",
        "output": ".pio/build/uno/libc17/FreeRTOS/timers.c.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/libc17/FreeRTOS/variantHooks.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/FreeRTOS/src/variantHooks.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/FreeRTOS/src/variantHooks.cpp",
        "output": ".pio/build/uno/libc17/FreeRTOS/variantHooks.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/lib126/LibPrintf/LibPrintf.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -I.pio/libdeps/uno/LibPrintf/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard .pio/libdeps/uno/LibPrintf/src/LibPrintf.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": ".pio/libdeps/uno/LibPrintf/src/LibPrintf.cpp",
        "output": ".pio/build/uno/lib126/LibPrintf/LibPrintf.cpp.o"
    },
    {
        "command": "/Users/ubaldot/.platformio/packages/toolchain-atmelavr/bin/avr-g++ -o .pio/build/uno/src/main.cpp.o -c -fno-exceptions -fno-threadsafe-statics -fpermissive -std=gnu++11 -mmcu=atmega328p -Os -Wall -ffunction-sections -fdata-sections -flto -DPLATFORMIO=60112 -DARDUINO_AVR_UNO -DF_CPU=16000000L -DARDUINO_ARCH_AVR -DARDUINO=10808 -Iinclude -I.pio/libdeps/uno/LibPrintf/src -I.pio/libdeps/uno/FreeRTOS/src -Ilib -Isrc -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/cores/arduino -I/Users/ubaldot/.platformio/packages/framework-arduino-avr/variants/standard src/main.cpp",
        "directory": "/Users/ubaldot/Documents/embedded/ArduinoFreeRTOS/SerialQueue",
        "file": "src/main.cpp",
        "output": ".pio/build/uno/src/main.cpp.o"
    }
]

my program is just an empty arduino sketch:

#include <Arduino.h>

void setup(){
}

void loop(){
}

EDIT: Solved by adding the following to platformio.ini. for generating the compile_commands.json build_flags = -Ilib -Isrc --target=avr However, --target=avr shall be removed after having created the file.