Discuss here different C compiler set ups, and compiling executables for the ESP8266

User avatar
By JosePedro
#48697 Hey all!

I'm trying to write a TCP server program for the ESP8266 and I'm following the ESP8266 RTOS SDK 1.4.0 Programming Guide to do so. The Guide offers several snippets of code which, regarding simple TCP sockets, appear to be quite similar to the way TCP sockets are created/used in standard C.

However, I'm having trouble finding the correct include files to declare in my program.

Take this snippet, for example:
Code: Select allstruct sockaddr_in server_addr;
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = INADDR_ANY;
server_addr.sin_port = htons(26000);
server_addr.sin_len = sizeof(server_addr);


In this case, declarations regarding the 'server_addr' structure and the 'AF_INET' / 'INADDR_ANY' are missing.
I've searched through the available include files and the one that seemed most appropriate was 'lwip/sockets.h'.
However, I noticed the following line on the top of the include file:

Code: Select all#if LWIP_SOCKET /* don't build if not configured for use in lwipopts.h */


LWIP_SOCKET is defined as 0 and as a result, pretty much nothing gets included. I've also noticed this in a lot of different include files, so I'm guessing simply re-defining 'LWIP_SOCKET' isn't really a smart idea.

Should I include other files instead?

My apologies in advance if this isn't the place for such questions. I'm still a newbie with the ESP8266!
Thanks in advance.
User avatar
By JosePedro
#48715 After a few blind attempts, I was able to solve the issue.
All that was needed was to add the (possibly missing) include path 'esp-open-sdk/sdk/include' in the project's include folders (I'm using Eclipse Luna by the way!).

My apologies for the post in the first place!
Best regards.