Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing file "Hash.h" #46

Closed
kuthullu opened this issue Jun 18, 2016 · 18 comments
Closed

Missing file "Hash.h" #46

kuthullu opened this issue Jun 18, 2016 · 18 comments

Comments

@kuthullu
Copy link

At line 40 on file AsyncWebSocket.cpp, there's an include of file "Hash.h" that isn't present on the library, and isn't on it's pre-requisites. Compiling the example "as-is" generates error.

  • Using IDE PlataformIO with framework Arduino and plataform Expressif, on board NodeMCU V1.0
@me-no-dev
Copy link
Owner

that is platform.io's fault. the library is in the ESP core libs.
One fix is to add #include <Hash.h> in AsyncWebSocket.h

@kuthullu
Copy link
Author

I searched the Lins directory and the generated libs for the project, the
file doesn't exist...
On Jun 18, 2016 08:17, "Me No Dev" notifications@github.com wrote:

that is platform.io's fault. the library is in the ESP core libs.
One fix is to add #include <Hash.h> in AsyncWebSocket.h


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#46 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AFxkuuOEpFBu0fVFd-5yFGMcfYrgMW6kks5qM9POgaJpZM4I47P3
.

@me-no-dev
Copy link
Owner

@kuthullu
Copy link
Author

It isn't included by default, but explicitly including it on your main.cpp solves the problem... maybe this is worth a note on the docs ? Anyway, thanks for your time, you really helped me

@me-no-dev
Copy link
Owner

it should really be fixed on platform.io side :) it follows Arduino guidelines and should by all means work.
@ivankravets can maybe shed some light?

@ivankravets
Copy link
Contributor

A deep library search is turned off by default. We had it enabled before but a lot of users had the problems with it. The easy way is to include required library in the src files. In this case, PlatformIO will understand that you really need this library, otherwise you can enable http://docs.platformio.org/en/latest/projectconf.html#lib-dfcyclic

@ivankravets
Copy link
Contributor

@kuthullu just add this line into the of one file from src folder

#include <Hash.h>

@me-no-dev
Copy link
Owner

@ivankravets has to be in one of the headers, correct?

@me-no-dev
Copy link
Owner

can I make a header that will actually not be included in the build and define the required libs there?

@ivankravets
Copy link
Contributor

@me-no-dev no matter. In any place/ in any file (*.c, *.cpp, .h, etc.)

@me-no-dev
Copy link
Owner

it is in the CPP file here

@ivankravets
Copy link
Contributor

@me-no-dev your code is fine. This is a behaviour of PlatformIO 2.0. We are working on the PlatformIO 3.0 where the Library Manager and Library Builder will be significantly refactored.

The one reason why deep finder is turned off is that current Library Builder doesn't handle #ifdef and etc constructions.

Conclusion

  • @me-no-dev you don't need to change your code.
  • @kuthullu please include #include <Hash.h> library manually.

P.S: It should work without any changes with PlatformIO 3.0.

@fab33
Copy link

fab33 commented Dec 12, 2016

In 3.2.1 it doesn't work. You have to include <Hash.h>

@ivankravets
Copy link
Contributor

@fab33 You can specify extra dependencies for a project using lib_deps option

lib_deps = Hash

@ivankravets
Copy link
Contributor

@me-no-dev do you have any info when new release of ESP8266 for Arduino will be issued?

@me-no-dev
Copy link
Owner

@ivankravets asking for 2.4.0? I would rather have it sooner than later, but it depends on Ivan's time and by the looks of it.... it will be maybe January. There are some goals that need to be covered by the end of the year.

@ivankravets
Copy link
Contributor

@me-no-dev Thanks! We will wait for that!

/cc @xoseperez

@probonopd
Copy link
Contributor

This is still an issue for me. probonopd/WirelessPrinting#118

Bmooij pushed a commit to Bmooij/ESPAsyncWebServer that referenced this issue Oct 14, 2019
Update AsyncClient::errorToString for esp-lwip constants
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants