Go Down

Topic: IDE 1.6.8 Invalid Library Error (Read 156 times) previous topic - next topic

jster

Apr 12, 2016, 05:55 am Last Edit: Apr 12, 2016, 06:07 am by jster
I have two locations where my code is referencing.  One is in the main directory of Arduino-1.6.8 (the installed directory),,,, and the other is where is created my working code and have mostly copied from 1.6.8 and placed into my working directory.  Not sure how it works really.

This person had a similar issue it seems like but I didn't want to piggy-back / hi-jack their post?..
http://forum.arduino.cc/index.php?topic=388925.0

Bottom line is I dont understand how to access the programs that are already written and call the "commands" from within my code,,, specifically I want to move my rover 5 robot forward, right, left, etc... but I see that there is already code available for those movements in Robot Control,,, just not sure how to access and use it... Any help is appreciated.  I will check this throughout the day.

Thanks,,

Code: [Select]
/home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute/sketch_apr04a/sketch_apr04a.ino:2:76: fatal error: /home/j/Arduino-1.6.8/libraries/Robot_Control/src/ArduinoRobot.h: No such file or directory
 #include "/home/j/Arduino-1.6.8/libraries/Robot_Control/src/ArduinoRobot.h"



compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Mega or Mega 2560.



Invalid library found in /home/j/arduino-1.6.8/libraries/freetype-2.6.2: /home/j/arduino-1.6.8/libraries/freetype-2.6.2
Invalid library found in /home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute: /home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute
Invalid library found in /home/j/arduino-1.6.8/libraries/freetype-2.6.2: /home/j/arduino-1.6.8/libraries/freetype-2.6.2
Invalid library found in /home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute: /home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute

pert

I have two locations where my code is referencing.  One is in the main directory of Arduino-1.6.8 (the installed directory),,,, and the other is where is created my working code
How is your code referencing these locations. Please post your sketch using code tags(</> button) or if the forum doesn't allow that because it's too long then attach it.

have mostly copied from 1.6.8 and placed into my working directory.
Please explain exactly the steps you did. What did you copy from where and where did you copy it to.

Bottom line is I dont understand how to access the programs that are already written and call the "commands" from within my code,
In Arduino programs are called sketches, you can't access these from a different sketch. In order for code to be shared between sketches it must be in a library, this is probably what you meant. So in order to access the functions(what you mean by "commands") of a library you must include that library. For example, to make the functions of the Robot_Control library you would add the line:
Code: [Select]
#include <ArduinoRobot.h>
near the top of your sketch. If there are other libraries used then you need to include other files also. So how do you know what to include for each library? By looking at the examples that come with the library. In the example of the Robot_Control library this would be accessed via File > Examples > RETIRED > Robot Control.

specifically I want to move my rover 5 robot forward, right, left, etc... but I see that there is already code available for those movements in Robot Control,,, just not sure how to access and use it...
You might first want to have a look at the documentation for the library. The libraries included with the Arduino IDE are listed at http://www.arduino.cc/en/Reference/Libraries and the Robot library page is http://www.arduino.cc/en/Reference/RobotLibrary. So assuming you can use the Robot Control library to control your rover you could would look through the examples to find something relevant to what you want to do, maybe File > Examples > RETIRED > Robot Control > learn > TurnTest. Then you can use some of the code from that example in writing your sketch. You would start with the includes at the top of the example:
Code: [Select]
#include <ArduinoRobot.h>
#include <Wire.h>
#include <SPI.h>

Now the Robot Control library is not the best example of Arduino libraries because it was not well organized. Usually the library name, the include file, and the reference page will all have the same name but for some reason all 3 are different with this library so it's kind of confusing. Unless your rover is specifically made to be compatibile with the Robot Control library then it probably won't be of use for you but there are many other libraries available to install if the ones included with the Arduino IDE don't do what you need.

Code: [Select]
/home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute/sketch_apr04a/sketch_apr04a.ino:2:76: fatal error: /home/j/Arduino-1.6.8/libraries/Robot_Control/src/ArduinoRobot.h: No such file or directory
 #include "/home/j/Arduino-1.6.8/libraries/Robot_Control/src/ArduinoRobot.h"

So you can't state the specific path to the library file. The Arduino IDE has a few places that it automatically searches for library files so you only need to specify the file you want to include. This makes sketches more portable because if the specific path was hardcoded in then it wouldn't work on any other system.

Code: [Select]

Invalid library found in /home/j/arduino-1.6.8/libraries/freetype-2.6.2: /home/j/arduino-1.6.8/libraries/freetype-2.6.2

These warnings are separate from your compile error but good to fix. Please post a screen shot or directory listing of the contents of /home/j/arduino-1.6.8/libraries/freetype-2.6.2 with all subfolders shown and I'll tell you how you can fix this.

Code: [Select]

Invalid library found in /home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute: /home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute

Code: [Select]

It looks like you have put the sketch aSketchApr04aBasicDetourRoute in your libraries folder. It's not supposed to go there. So move /home/j/Arduino/libraries/aSketchApr04aBasicDetourRoute to /home/j/Arduino

jster

Topic/Thread closed - Thanks for the quick response despite you alls suggestions as I was still not able to access the parent classes (headers?).  I was still able to move my robot using other simpler code though that did not utilize any of the add on "bells and whistles" code like sensors etc as I desired..

I will be attempting a future project this summer with Arduino guiding a lawn mower,,, will likely be using java code syntax.

Have been reviewing java in 21days and hope to have better proficiency in code.

Again thanks for the help.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy