I’m trying to build a program for a Adafruit ESP32 feather. I have run some examples successfully but now I’m trying to compile in come other code I have and the compiler is not able to file some basic include files like string.h. I turned on verbosity and see the errors:
Sounds like the line #include <string> causes an error. Well, FreeRTOS has C codebase, and string is a C++ standard header, so that error seems to strange to me. Where I can find that “MicroESP32Freertos” library for inspection?
Hi maxgerhardt,
The code base is DDS and I’ll see if I can make it available. It has already been run many times with Freertos when built with other platforms (not with a arduino platform yet). But I’ll check to see if maybe that is a problem.
Why is it looking for FreeRTOS.h in the directory: C:/Users/dseltz/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src/FreeRTOS.h. It is not in my include list.
Why am I getting the message: "ignoring nonexistent directory “C:/Users/dseltz/.platformio/platforms/espressif32/builder/Â C:/Users/dseltz/Documents/PlatformIO/projects/MicroESP32Freetos/include/freertos”
But it’s autodetected by the library dependency finder since it actually has a FreeRTOS.h and also C++ wrappers for it: arduino-esp32/libraries/BLE/src at master · espressif/arduino-esp32 · GitHub. There’s also the #include <string> (here), whic happens in C++ code, so that’s actually ok and the compiler should find it…
You should attempt to ignore that library by doing lib_ignore = BLE for the time being.
Why are you specifically including this SDK include path here?
Please also note that just including the include directory of the library will not actually build source code of it. You should include the FreeRTOS code differently, e.g. by the means of a library.
HI maxgerhardt,
This is a great help. I don’t want to build any freertos code. I just need to run on top of it and need access to freertos.h which is references from my code.
I did try to add lib_ignore = BLE and remove two of the include paths:
*GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072*
*Compiler executable checksum: f8c150667b22ef24be0575fd93addc63*
*In file included from include/osapi/osapi_os_freertos.h:30:0,*
* from include/osapi/osapi_os.h:43,*
* from include/osapi/osapi_config.h:109,*
* from include/osapi/osapi_types.h:34,*
* from include/cdr/cdr_stream.h:36,*
* from src\cdr\stream\md5.c:111:*
*C:/Users/dseltz/.platformio/packages/framework-arduinoespressif32/libraries/BLE/src/FreeRTOS.h:11:18: fatal error: string: No such file or directory*
This points to: #include "<string>"
And yes the path: C:/Users/dseltz/Documents/PlatformIO/projects/MicroESP32Freetos/include/freertos exists.
I still have this problem and have not been able to figure out how to make that one include file is scanned and not another. The error is:
Compiling .pio\build\featheresp32\src\db\urtdb\DBUrtdb.c.o
In file included from include/osapi/osapi_os_freertos.h:30:0,
from include/osapi/osapi_os.h:43,
from include/osapi/osapi_config.h:109,
from src\db\urtdb\DBUrtdb.c:52:
C:\Users\dseltz.platformio\packages\framework-arduinoespressif32\libraries\BLE\src/FreeRTOS.h:11:18: fatal error: string: No such file or directory
I have my own version of FreeRTOS.h I want to use but it keeps pointing at C:\Users\dseltz.platformio\packages\framework-arduinoespressif32\libraries\BLE\src/FreeRTOS.h.
My version of FreeRTOS.h is in the directory include/freertos which you can see is listed as one of the -I directories: