Arduino Library Management With Symlinks [message #1775041] |
Mon, 23 October 2017 22:39  |
Eclipse User |
|
|
|
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.
name=Debounce
version=1.0
author=irex
maintainer=irex
sentence=Simple library to handle button debouncing
paragraph=This library supports debouncing of any number of buttons
category=Mechanical Input
url=*
architectures=*
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03897 seconds