This looks like your library structure is wrong.
Usually you should have something like this:
|--_MiB
|--docs
|--examples
|--src
| |- Utils.h
| |- Utils.cpp
|- library.json
This looks like your library structure is wrong.
Usually you should have something like this:
|--_MiB
|--docs
|--examples
|--src
| |- Utils.h
| |- Utils.cpp
|- library.json
Is it possible that “Utils.h” isn’t a library at all but just something you want to have in your project’s “include” directory?
Why you try place it into full build all compile visible. This is counterfaik.
Simply in your project place link to file in include folder. Or better copy file into project in some script used in ini.
Well, first, this article says, all header files (*.h) should be in the include
subfolder. But I have tried to put it in src
, unfortunately with no effect to the result
And Utils.h
is a header file to Utils.cpp
, which contains samo utility functions for most of my projects. The file is placed in a directory with many other *.h files.
SOULTION FOUND!
The problem was completely elsewhere. I have used a [common]
section, as shown in example in this document or this topic:
[common]
;required for all the envs
lib_deps =
ArduinoJson@6.16.1
So, based on these docs, I have used following:
[common]
lib_deps =
symlink://D:/Dropbox/Arduino/sketch/libraries/_MiB
And this was not working.
However, if placed in [env]
section, everything works fine:
[env]
lib_deps =
symlink://D:/Dropbox/Arduino/sketch/libraries/_MiB
And thsi works even if all *.h files are placed simply in the root of all my library files D:/Arduino/libraries/_MiB
with a very simple library.json
:
{
"name": "MiB",
"version": "1.0.0"
}