|Arduino Library Management With Symlinks [message #1775041]
||Tue, 24 October 2017 02:39
| Isaac Rex
Registered: October 2017
I have recently decided that I want to start developing for Arduino in a more complete IDE. I use Eclipse for my college Java class, and I have grown rather fond of it. I am using the CDT Arduino plugin, but I have a problem with managing my Arduino libraries. What I would ultimately like to do is maintain one libraries folder in my Arduino directory, and have Eclipse link to that same folder. |
The Arduino plugin for Eclipse keeps its libraries in ~/.arduinocdt/libraries/, so I had the idea of creating a symbolic link in ~/.arduinocdt/ named "libraries" and linking it to my Arduino libraries directory. This does not work. Eclipse simply won't load the libraries if they're in the form of a symbolic link. I did find that it works if I hard link /Arduino/libraries/ to ~/.arduinocdt/libraries/, but it seems that hard linking directories is generally discouraged, and I would like to avoid this solution.
So my question is simply, is this possible? Can I maintain my libraries in /Arduino/libraries/ and have Eclipse refer to that folder? A solution that does work is to keep my "real" libraries folder in ~/.arduinocdt/libraries/ and symlink to that directory in /Arduino/libraries/ (the Arduino IDE is perfectly happy using a symlink) but I would really like to go the other way.
How To Use Custom or External Libraries
This is a decidedly unintuitive process, and there seems to be a lot of confusion on how to do it, so I thought I would share what worked for me.
I mentioned above that the Arduino Eclipse plugin keeps its libraries in ~/.arduinocdt/libraries/ (on Mac). Adding a library is almost as simple as copying the library folder in to that directory, just as you would for the Arduino IDE (if you have no libraries installed already, you will need to make the "libraries" folder).
The one extra thing you need is a "library.properties" file inside your library's folder. I've included the one I used for my Debounce library bellow to use as a template. Your final path should look something like ~/.arduinocdt/libraries/yourLibrary/ and inside this directory you will have your .h, .cpp, library.properties, and anything else your specific library may depend on.
Once you have your library in this directory, restart Eclipse and it should show up in the Arduino Downloads Manger. From here, you add them to your project as if they were a library you downloaded from the manager.
This is (more or less) what the contents of the library.properties file should look like. You can create it with any text editor.
sentence=Simple library to handle button debouncing
paragraph=This library supports debouncing of any number of buttons
|Re: Arduino Library Management With Symlinks [message #1793178 is a reply to message #1793134]
||Wed, 01 August 2018 02:39
| Paulo Borges
Registered: July 2018
Dear Isaac, thanks for the response.|
I kept trying and found how to sort it out.
Indeed it is not intuitive at all.
What did I do:
Install Eclipse as per instructions in the following video (even if it is not Photon)
Copy library folder to:
Library MUST include file library.properties as following example:
I used Windows Notepad and all the above appears in a single line, no spaces, no CR/LF at the end, replace example labels with proper from the library
(some libraries at Github include the library.properties file
To build your own try to look on built in library folder and see how the file library.properties looks.
Right click project, select properties/Libraries
Confirm (click) every library that must be included in the project
[Updated on: Wed, 01 August 2018 02:40]
Report message to a moderator
Powered by FUDForum
. Page generated in 0.01685 seconds