Strange error.. (multiple definitions)

I am currently writing a small library and experience a small problem..
I am including from a existing (working) library one of my headers for configuration which has also a few functions in it (with code). Now all i get at compilation is an error that tells me that i have multiple definitions of this functions. If i put them into a cpp file that corresponds to my header i get a helll lot of errors about almost everything (half of the used core functions are not recognised, so are also byte and int and so on..)
Is there, somewhere, a short description on what to include in libraries and especially what not? From what i see here this has changed over time as core libs have changed and for example wconstants.h seems to be useful yet provokes another set of 100s of errors ><

http://www.arduino.cc/playground/Code/Library#How

Generally:

Library.h

#ifndef LIBRARY_H
#define LIBRARY_H

#include<WProgram.h>

class Library {
  //code
};

#endif

Library.cpp

#include "Library.h"
//code

I tried exactly that as well.. now i come accross:

In file included from C:\arduino-0015\hardware\cores\arduino/WProgram.h:4,
                 from /ks0108_PCF8574.h:12,
                 from /ks0108.h:47,
                 from ks0108.cpp:37:
c:/arduino-0015/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected unqualified-id before 'int'
c:/arduino-0015/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected `)' before 'int'
c:/arduino-0015/hardware/tools/avr/lib/gcc/../../avr/include/stdlib.h:111: error: expected `)' before 'int'
In file included from C:\arduino-0015\hardware\cores\arduino/WProgram.h:6,
                 from /ks0108_PCF8574.h:12,
                 from /ks0108.h:47,
                 from ks0108.cpp:37:
c:/arduino-0015/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected unqualified-id before 'double'
c:/arduino-0015/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'
c:/arduino-0015/hardware/tools/avr/lib/gcc/../../avr/include/math.h:439: error: expected `)' before 'double'
o: In function `drawSpinner(unsigned char, unsigned char, unsigned char)':

edit
I think there is such a #undef thing for that problem, yet thanks to the search engine on this forum and my lack of knowleadge on using google prevents me from finding an answer... also there should be some nicer solution i hope?

After doing several #undef parts i now am back at where i began:

o: In function `getTWIDATA(int)':
C:\arduino-0015/hardware\libraries\ks0108/ks0108_PCF8574.h:62: multiple definition of `getTWIDATA(int)'

hardware\libraries\ks0108\ks0108.o:/ks0108_PCF8574.h:62: first defined here

o: In function `setCommandTWI(unsigned char)':
C:\arduino-0015/hardware\libraries\ks0108/ks0108_PCF8574.h:54: multiple definition of `setCommandTWI(unsigned char)'

hardware\libraries\ks0108\ks0108.o:/ks0108_PCF8574.h:54: first defined here

o: In function `writeCommandTWI(int, int)':
C:\arduino-0015/hardware\libraries\ks0108/ks0108_PCF8574.h:72: multiple definition of `writeCommandTWI(int, int)'

hardware\libraries\ks0108\ks0108.o:/ks0108_PCF8574.h:72: first defined here

o: In function `setDataTWI(unsigned char)':
C:\arduino-0015/hardware\libraries\ks0108/ks0108_PCF8574.h:47: multiple definition of `setDataTWI(unsigned char)'

hardware\libraries\ks0108\ks0108.o:/ks0108_PCF8574.h:47: first defined here

Couldn't determine program size: C:\arduino-0015\hardware\tools\avr\bin\avr-size: 'C:\Users\NACHTW~1\AppData\Local\Temp\build40589.tmp\KS0108_fertigcode.hex': No such file

edit
I have, definetely only defined the functions once inside the file of which the name is given - yet i must admit i have not only giving the name and the params but all code of the function in the header.. might that be some problem?

I am including from a existing (working) library one of my headers for configuration which has also a few functions in it (with code). Now all i get at compilation is an error that tells me that i have multiple definitions of this functions.

So you have an existing library with functions in it, and you're trying to include it in a new library with functions that have the same names?

No there is a library (namely the ks0108 lib you can find almost on top of the software development forum) and this library includes a configguration file based on a definition you have to make in one of the first few lines.
So i made a new file to be included which is almost the same as any other, yet only that it has 4 functions inside (in the H file) which are told to be be defined multiple times. thats all. so its like

PDE includes s0108 lib
includes Configuration
main configuration includes Arduino Config or Mega Config or Sanguino Config or My Header

and there lies the problem ;0)

...and it is getting even more weird:

In file included from ks0108_PCF8574.c:2:
hardware\libraries\Wire/Wire.h:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TwoWire'
hardware\libraries\Wire/Wire.h:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Wire'