I am using Pio with Atom on MACos 10.12.6.
I a have a project like projects/test/test.ino
and a library like projects/libraries/mylib/mylib.h and my lib.cpp.
for convinience I load both folder to the project so I can easily chance my lib and see the impact on test.ino
Quit often (no sure that it happens every time), I change the my lib which is loaded by the dependency check (shown in library dependency tree), but the changes done on my lib are not reflected.
I have to remove (rm -r) the .pioenvs and .piolibdeps folders from project folder projects/test so that the change in my lib are reflected.
This way I am never sure if the changes are take effect or not unless I always remove those folders.
I cannot find an option to force the cleanup.
Jump using the pio:clean button does not work.
Of course, remove this folders will always take a lote of time to compile as it has to rebuild all the libraries even the ones not changed.
Could it be that this is a bug, or is there some configuration that I may be missing ?
thank you for any help you may give.
PS:
I am using the arduino platform, and boards are ESP8266, ESP32 or Moteino.
Could you provide a simple project to reproduce this issue?
Hi ivankravets, thank you for your reply.
I will try to build a test example a see if I can simulate the problem.
I just code as a hobby , so bear with me even if I can take some time
thank you ,
Pedro Albuquerque
Today I had the opportunity to use some test code to simulate the problem with success.
I created a project with a single file test1.ino that I placed in a folder …/projects/esp8266/test/test1
and I created a library with 2 files: Tlib.h and Tlib.cpp that I place in a folder …/projects/libraries/Tlib
Project file code is here → GitHub - Pedroalbuquerque/test1
(I was not able to copy code to this window)
Library can be found here → GitHub - Pedroalbuquerque/Tlib: pio test lib
if you compile this should give an error
_astr =‘T’ should be replaced by
_str =‘T’ to compile successfully.
yet if I compile (with error), and I change the code on the lib, it will keep compiling with error.
I have to open a console windows and execute
sudo rm -r .piolibdeps
and
sudo rm -r .pioenvs
after this if I compile will be with Success.
If instead I place the library in the folder …/project/esp8266/test/test1/lib/Tlib
correction on the library will be considered without the need to remove .piodeplibs and .pioenvs
That is OK because dependency doesn’t change. Please use lib_extra_dirs instead of lib_deps
.
Thank you ivankravets, that did work.
Great!