chipKIT® Development Platform

Inspired by Arduino™

No .h file found

Created Fri, 17 Jun 2011 08:41:30 +0000 by Ian Rogers


Ian Rogers

Fri, 17 Jun 2011 08:41:30 +0000

Hi... I bought me a uno32, and I know the boards are still warm from development but.. I have read through virtually every thread trying to find out how to add a library... The library is the TFT library from 4ds. It appears when the arduino uno is selected but not when uno32 is selected, I would have thought that when it tried to compile I would get errors telling me what's the issue (avr.io.. etc) I can then do something to sort it, however,,, all I get is "(headerfile).h" is missing... How does MPIDE ascertain whether a header / object can be included or not


Jacob Christ

Fri, 17 Jun 2011 14:39:36 +0000

Can you post a link to where I can download the lib so that I can try it?

Jacob


Darth Maker

Fri, 17 Jun 2011 16:19:53 +0000

Create a "libraries" folder in your sketch folder, then place the library there. This is a workaround, I don't know why it doesn't work the other way.


Ian Rogers

Fri, 17 Jun 2011 17:16:43 +0000

Cheers ..I'll try that on Monday now as the board is at work.

I'll post the driver on monday ( It was forwarded to me by 4DS ) for the uLCD 32PT

Ian


promptcritical

Sat, 18 Jun 2011 16:28:11 +0000

I had an important but I can't post it.

[color=#FF0000]Your post looks too spamy for a new user, please remove off-site URLs.[/color]

every time. No URL's included, I guess puncuation is a bad thing.


thiagonast

Tue, 21 Jun 2011 20:29:10 +0000

I can't add any .h files either... i tried to put files in "libraries" but it is not working for chipkit boards

-Thiago


Mark

Tue, 21 Jun 2011 21:54:17 +0000

Create a "libraries" folder in your sketch folder, then place the library there. This is a workaround, I don't know why it doesn't work the other way.

If you put a library in the normal libraries folder then it is an Arduino (AVR) library. We have that complete libraries folder duplicated in hardware/pic32 folder. This is so that we can have duplicates of the libraries that are completely different and dont interfere. For example, the wire library had to be totally re-written.

The "proper" place to put 3rd party libraries is in sketches/libraries folder. This was put into Arduino several versions ago. The reason for it is people would download a new version of Arduino, delete the old version and loose all of the libraries they downloaded. Or, if they remembered, they would have to spend a fair amount of time moving the 3rd party libraries from one place to another. This got a bit tedious

So, put the library where it belongs, sketchs/libraries, then it will show up both places.

When writing libraries, make sure you use proper #ifdefs such as

#if defined(AVR)

#endif

#if defined(PIC32MX)

#endif

In some of my code, you will also see

#if defined(arm)

#endif


claudioc

Wed, 29 Jun 2011 15:29:54 +0000

Dear friends, i'm new with chipkit uno32, and i have this problem : I use a third part libraries for ITDB02 touch screen/lcd, and when i verify the sketch i have this error :

\Users\Claudio\Downloads\mpide-0022-chipkit-win-20110619\mpide-0022-chipkit-win-20110619/hardware/pic32/compiler/pic32-tools/bin/pic32-g++ -O2 -c -mno-smart-io -w -fno-exceptions -ffunction-sections -fdata-sections -G1024 -mprocessor=32MX320F128H -DF_CPU=80000000L -D_BOARD_UNO_ -IC \Users\Claudio\Downloads\mpide-0022-chipkit-win-20110619\mpide-0022-chipkit-win-20110619\hardware\pic32\cores\pic32 C \Users\Claudio\AppData\Local\Temp\build922542095746454861.tmp\ITDB02_Graph_prova.cpp -o C \Users\Claudio\AppData\Local\Temp\build922542095746454861.tmp\ITDB02_Graph_prova.cpp.o C:\Users\Claudio\AppData\Local\Temp\build922542095746454861.tmp\ITDB02_Graph_prova.cpp:18:26: fatal error: ITDB02_Graph.h: No such file or directory

Follow your hint i have create a folder called "libraries" in sketch folder but nothing has change.... Were is my falut ? Thanks for the reply


Ian Rogers

Thu, 30 Jun 2011 13:58:17 +0000

Update..

This library will never work as it uses the newsoftserial module (interrupts) I am going to re-write to use the hardware serial..


claudioc

Tue, 05 Jul 2011 08:36:04 +0000

Dear friends, i have found a library for my ITDB02 made for ChipKit UNO32 on Pial's blog. But when I try to verify the sketch I have the same problem..... C:\Users\Claudio\AppData\Local\Temp\build9103746465829201408.tmp\RGB_GLCD_Bitmap_CK.cpp:21:22: fatal error: RGB_GLCD.h: No such file or directory compilation terminated.

I have created a folder "sketch", and a folder "libraries" inside it, where i'll put the third parties libraries but it doesn't work. Where is my fault ?????

Thanks for your help.


Mr_Fixit

Wed, 06 Jul 2011 20:55:21 +0000

Dear friends, i have found a library for my ITDB02 made for ChipKit UNO32 on Pial's blog. But when I try to verify the sketch I have the same problem..... C:\Users\Claudio\AppData\Local\Temp\build9103746465829201408.tmp\RGB_GLCD_Bitmap_CK.cpp:21:22: fatal error: RGB_GLCD.h: No such file or directory compilation terminated. I have created a folder "sketch", and a folder "libraries" inside it, where i'll put the third parties libraries but it doesn't work. Where is my fault ????? Thanks for your help.

Claudioc, I ran into a similar problem and what I discovered as a solution is that if the main Sketch does not #include all files needed then it wont compile. This also includes any #includes that your 3rd party libraries may include. So, I suggest you take a look at all those libraries and make sure that any #include they indicate are also in your Sketch. Here is a brief example:

My sketch WAS:

#include "Ball.h"

BallClass RobotBall;

void setup() {
  RobotBall.begin();
  RobotBall.demo();
}

void loop() {}

All the classes needed to implement my robot were #included in the Ball.h file. These were objects such as SRF08.h, CMPS09.h, MD25.h, and so on. The Ball class created instances of those classes and took care of all the operations and housekeeping. Though the code was good, it would not compile. My solution was to #include all those individual headers in my Sketch, now it all compiles and works. (Except for issues with I2C, no Servo support, and well, nearly all the IO functionality I need... different issue entirely!)

So now, my Sketch looks like this:

#include <Wire.h>
#include <Servo.h>
#include <CMPS09.h>
#include <SRF08.h>
#include <MD25.h>
#include "Ball.h"

BallClass RobotBall;

void setup() {
  RobotBall.begin();
  RobotBall.demo();
}

void loop() {}

Hope this helps.


samuron

Sat, 17 Sep 2011 22:57:15 +0000

Hi Folks, This looks like a good thread to start with.

I did a fresh install of the Windows MPEIDE, and added the IOShield libraries to the libraries folder, as per the instuctions, but the IOShield_Oled_Demo won't compile.

Followint the suggestions in this thread, I created a "sketch" folder, and a "libraries" folder under it, and put everyting in there. No luck.

I now have copies of all of the .h files in severalfolders; no matter where i put them, the compiler can't find them.

I'm ready to chuck the thing, but it wasn't cheap; are there clear instructions for the file library tree stucture anywhere?

Thanks in advance, JT


KM6VV

Sun, 18 Sep 2011 21:16:32 +0000

Another thread just said to put it in the libraries directory under hardware:

[url]http://www.chipkit.org/forum/viewtopic.php?f=20&t=377&p=2119#p2119[/url]

Like I just did:

Arduino\mpide-0022-windows-20110907-test\hardware\pic32\libraries

Actually you put the library directory (its own folder) in the libraries folder.

Alan