I have wasted today entire day trying to make an extension for DS18b29 temperature sensor work.
It requires the DallasTemperature library which in turn requires OneWire library. Which in turn includes two .h files inside its .h and .cpp files from /util folder.
I have already discovered earlier, that such a combination in a simple case when one library just requires the other does not work out of the box but if one includes this more common library in the extension and adds by hand a reference to it with some simple tricks then it is manageable. But in this case I have tried almost everything I could imagine, Merging the two libraries in one folder, replacing the .h references in the #declare statements of the libraries to the new paths… Nothing worked!
BUT finally I have found that libraries usually reference other .h files as <library.h> , ie. the compiler looks for them only in the default library folder. Replacing <library.h> by “library.h” inside the referncing library files cures the issue magically.
So I suggest the developers of mBlocks to force somehow the compiler to look for includes inside the current working folder, where the extension files are, after looking for them in the default location, even if they are called in <> brackets. or just to replace automatically <.h> for ".h" in included libraries.
A big problem adding external libraries to the newly created extensions
Vas
#1