Deleting obj files after a version up

This is more of a user tip than a suggestion - although a suggestion could come of it.

Most of us have collected libraries along the way and have installed them in previous versions of the IDE. So when a new IDE comes out, the easy thing to do is copy the libraries to a new version. (It might be nice if libraries could be kept in a common folder, and hence a suggestion for a path parameter.)

So the tip is that you should be sure to delete the .o files if you copy a library after a version up. I just did that with Rel 0013 and had significant savings on top of the significant savings I already got by switching to REL 0013.


I have noticed this advise being the solution to lots of users problems posted here. I wonder what is the purpose of including the .O files in library distributions.

Seems that their original distribution causes problems and won't any use of the library routines within the IDE cause the .O files to be compiled if they are missing? Is it just a means of making the whole sketch compile process run faster?

If this is a stupid question please forgive me, my best programming language is solder. ;)


Most libraries I've seen do NOT come with the .o files prebuilt (unless the library creator was lazy and didn't clean up before making the zip file).

If you freshly install libraries in each new IDE's directory, there's no problem. As BroHogan says, though, is that many of us just copy the directories we already have, in which our old IDEs have written .o files. Then the new IDE doesn't notice that they're out of date.

I personally think the IDE's internal dependencies list (makefile rules) should say to fully rebuild everything your sketch uses, every time. It's not like it takes even three more seconds to compile... the total object code required has to fit within 2KB of RAM! Makefiles are for projects that take ten minutes or ten hours to build fresh.