Compile errors on i2ckeypad.cpp

Having trouble getting the i2ckeypad library to work with a Spark Fun 4X3 keypad. I ran the I2C scanner sketch and found the PCF8574 so I know I2C is working on the uno and the chip will respond. I'm pretty sure everything is wired up correctly with pull ups etc.

Updated the .h and .cpp to work in 1.0 of the IDE. I tried compiling the .cpp sketch however to see if the problem lies in it and I get the following errors. Any ideas where to look to solve this? The errors are posted below followed by the .cpp file. Verbose is off to limit the size (over the limit for posting). Ill post the .cpp file itself in a second post.

I'm getting nothing out of the keypad at all.

Arduino: 1.6.1 (Windows 8), Board: "Arduino Uno"

Build options changed, rebuilding all

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::i2ckeypad(int)'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `pcf8574_i2c_addr'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::i2ckeypad(int)'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::i2ckeypad(int, int, int)'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `num_rows'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `num_cols'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::i2ckeypad(int, int, int)'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::pcf8574_write(int, int)'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::init()'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `col'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::pcf8574_byte_read(int)'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

i2ckeypad\i2ckeypad.cpp.o: In function `i2ckeypad::i2ckeypad(int)':

C:\Users\Kirk\Documents\Arduino\libraries\i2ckeypad/i2ckeypad.cpp:130: multiple definition of `i2ckeypad::get_key()'

i2skeypad_cpp_test.cpp.o:C:\Program Files (x86)\Arduino/i2skeypad_cpp_test.ino:130: first defined here

C:\Users\Kirk\AppData\Local\Temp\build278775600068110307.tmp/core.a(main.cpp.o): In function `main':

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:40: undefined reference to `setup'

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/main.cpp:43: undefined reference to `loop'

collect2.exe: error: ld returned 1 exit status

Error compiling.

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.

Where's the .h file? Do you have include guards?

Where is your sketch, too?