Building a STM32L496 project with Mongoose Embedded Web Server Library (two files)



I want to test the mongoose library by adding it to an existing project. The code runs on a STM32L496ZGTx. I’ve read the Cesanta documentation and “just” add mongoose.c and mongoose.h to my build tree, as the documentation says.

I also have defined a preprocessor flag (-D) named “STM32” for mongoose.h header to know the platform it is running on.

However, I have multiple errors when compiling, such as :

  • #error "<dirent.h> not supported"
  • error: unknown type name 'sock_t'
  • error: field 'sa' has incomplete type, error: field 'sin' has incomplete type,
    error: field 'sin6' has incomplete type

The first error : Is dirent.h mandatory for mongoose lib ? Can I comment the line ?
The second error is “normal” as there is no typedef of sock_t in the STM32 platform part of the header. But for other platforms, it is present so I don’t really understand what can I do ? Do I have to define this type ?
Third error : sockadrr type is also absent for STM32 platform -> same question as sock_t

Also , my project is currently working with freeRTOS , what do I have to know when working with mongoose library ?

My IDE is System Workbench for STM32 (AC6, based on Eclipse). The compiler is ARM Compiler for MCU

Don’t hesitate to ask me for more precisions.

Thanks in advance.