Problem including library from library (irlib2)

I’m sure I’m just missing something super obvious, but I’m stumped.

I downloaded IRLib2 and am trying to use the example “dump.ino”.

However when compiling, I get an error that another header can’t be found:

D:\Users\TheKat\Dropbox\Documents\Arduino\libraries\IRLib2/IRLibDecodeBase.h:13:28: fatal error: IRLibProtocols.h: No such file or directory

The reason for this seems to be that:

  • IRLibAll.h (included by dump.ino) comes from libraries/IRLib2
  • It does #include <IRLibDecodeBase.h> (which is also found in libraries/IRLib2)
  • This in turn does a #include "IRLibProtocols.h"
  • IRLibProtocols.h however is in libraries/IRLibProtocols. This seems to confused the IDE. It doesn’t seem to like libraries referencing other libraries.

I must have missed something there. The options seem to be that the Arduino IDE does not like libraries referencing libraries, or the IRLib2 library/examples are broken.

Neither seems very likely… Was there a doc I missed reading up on somewhere? My Arduino IDE version is 1.7.11.

I installed the five libraries, restarted the IDE (1.6.12), and compiled the dump example without error for UNO and Leonardo.

TheKat: My Arduino IDE version is 1.7.11.

You got your IDE from Arduino.org back when there were two different Arduino companies. If you want help from the Arduino.cc forums you should install the IDE from Arduino.cc. Click on "Download" in the banner above to get the latest version. (Arduino.org cloned a version of the Arduino.cc IDE and re-numbered it 1.7.x but has not been keeping their 1.7.x version up to date with the Arduino.cc IDE.)

Cool. That was entirely it. I got duped! :D

Uninstalled that one, downloaded the one from here, and that works.

It was doubly confusing me because I didn't realize I got the "other" one, and was finding the 1.6 release notes for this one saying the "library in library" thing was fixed...

Thanks again!