Inconsistency between online mbed compiler & Platformio: cannot compile wolfSSL HTTPClient

Seems like the online compiler handles libraries / includes differently. For example:

HTTPClient/HTTPClient.cpp has the following include:
#include "settings.h"

And the file it is looking for is at…
wolfSSL/wolfssl/wolfcrypt/settings.h
(confirmed by renaming the file)

The wolfSSL library is full of such strange includes, and even after a few hours of manual fixing, I still couldn’t make Example-HTTPSClient compile with Platformio (online compiler works without any changes). The furthest I got when it was complaining about an undefined reference to wolfSSL_Free in HTTPClient.cpp and about wolfSSL_Mutex not declared in the scope.

Normaly the mbed compiler use the mbed-os (v5), platformio use the classic mbed-dev (v2).

I specified extra build_flags to overcome this issue (missing include directives) but this was with another library. See Redirecting...

1 Like