Problem with LiquidCrystal library

Hello!

I just downloaded the LiquidCrystal_v1.2.1 library and tried to compile and run and "HelloWorld_i2c" example, but I get the following error message:

Arduino:1.5.7 (Windows 7), Board: "Arduino Due (Programming Port)"

C:\Arduino NEW\libraries\LiquidCrystal_V1.2.1\FastIO.cpp: In function 'void fio_shiftOut1(fio_register, fio_bit, uint8_t, boolean)':
C:\Arduino NEW\libraries\LiquidCrystal_V1.2.1\FastIO.cpp:214:19: error: '_BV' was not declared in this scope
if(value & _BV(i))
^
I then tried to open "FastIO.cpp" and found one line of code where "_BV" is used, but I didn't find nowhere in code what could be supposed to declare this. I'm still not so good in programming to correct this error by myself, so any help will be highly appreciated. Thank you in advance!

Sincerely,

metheoneandonly

Anyone, please?

Don't know where _BV is normally defined, but

#define _BV(v) (1<<(v))

is missing.

Thank you very much, I'll try to add this and see if it works.

i don't have any problem.. i m running Arduino 1.6.5.. and liquidcrystal 1.0.2
and this is my code (plz don't forget to check ur pin for the lcd)

// character LCD example code
#include <LiquidCrystal.h>
// Connections:
// rs (LCD pin 4) to Arduino pin 12
// rw (LCD pin 5) to Arduino pin 11
// enable (LCD pin 6) to Arduino pin 10
// LCD pin 15 to Arduino pin 13
// LCD pins d4, d5, d6, d7 to Arduino pins 5, 4, 3, 2
//LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);
//int backLight = 13;
// pin 13 will control the backlight

LiquidCrystal lcd(38, 40, 42, 39, 41, 43, 45);
int backLight = 44;

byte customChar[8] = {
0b00000,
0b00000,
0b01010,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};

void setup()
{
pinMode(backLight, OUTPUT);
digitalWrite(backLight, HIGH); // turn backlight on. Replace 'HIGH' with 'LOW' to turn it off.
// create a new custom character
lcd.createChar(0, customChar);

lcd.begin(16,4);
// columns, rows. use 16,4 for a 16x4 LCD, etc.
lcd.clear();
// start with a blank screen
lcd.setCursor(0,0);
// set cursor to column 0, row 0 (the first row)
lcd.print(" BlackLotus ");
// change this text to whatever you like. keep it clean.
lcd.setCursor(0,1);
// set cursor to column 0, row 1
lcd.print(" System ");
// if you have a 4 row LCD, uncomment these lines to write to the bottom rows
// and change the lcd.begin() statement above.
lcd.setCursor(0,2);
//set cursor to column 0, row 2
lcd.print(" ");
lcd.write((uint8_t)0);
lcd.print("BobDuino");
lcd.write((uint8_t)0);

lcd.setCursor(0,3);
//set cursor to column 0, row 3
lcd.print(" v.0.1 beta");
}
void loop()
{
}