Wire library not behaving...

I am having problems trying to get my LCD screen to work over I2C, I keep getting this error message:

Arduino: 1.6.7 (Windows 10), Board: "Arduino/Genuino Uno"


D:\Documents\Arduino\libraries\LiquidCrystal\I2CIO.cpp:35:26: fatal error: ../Wire/Wire.h: No such file or directory

 #include <../Wire/Wire.h>

                          ^

compilation terminated.

Using library Wire at version 1.0 in folder: C:\Users\Nick\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.10\libraries\Wire 
Using library LiquidCrystal in folder: D:\Documents\Arduino\libraries\LiquidCrystal (legacy)
exit status 1
Error compiling.

this is the code I am trying to use:

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>


#define I2C_ADDR    0x3F // <<- Add your address here.
#define Rs_pin  0
#define Rw_pin  1
#define En_pin  2
#define BACKLIGHT_PIN 3
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7



LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup()
{
  lcd.begin (16,2); // <<-- our LCD is a 20x4, change for your LCD if needed

// LCD Backlight ON
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);

lcd.home (); // go home on LCD
lcd.print("Hello World");  
}

void loop()
{

}

The Wire library hasn't even been given a chance to run. It is silly to talk about it not behaving correctly.

You are the second person this week trying to get that crap to compile. The solution is exactly the same as for the other poster. Edit the offensive file, and remove the ../Wire/ crap from the include statement.

my include statement is #include <Wire.h>

I didn’t write it like this: #include <…/Wire/Wire.h>

what do you mean edit the offensive file?

my include statement is #include <Wire.h>

Not the one in YOUR library!

I didn’t write it like this: #include <…/Wire/Wire.h>

Some asshole did. Then, YOU downloaded the library.

what do you mean edit the offensive file?

Never mind. Just delete the library you downloaded, and forget trying to use it.

In one of these two libraries is the offending line:

#include <LCD.h>
#include <LiquidCrystal_I2C.h>

They may be quite old. Find it and change it to read:

#include <Wire.h>

There is a link in my YouTube video #23 to a decent LiquidCrystal_I2C library which ‘just works’ and may help you out of this problem. Check the comments (and watch the video if you’re interested). URL to my channel in the footer of this post.

The problem is that there are several such libraries floating around, some different, some variant of one another and no-one is quite sure which is the definitive library anymore. And some have errors in them. The one I use is on GitHub and has proved reliable.

Re: Wire library not behaving...

Have you tried threatening ten minutes on the Naughty Step?