thanks for you answer, I'm still a little bit confused , but I think I solved the problem ...
I have following files:
image-header.h (with #ifndef)
image-source.h (with #ifndef)
code_1.h (with #ifndef)
code_2.h (with #ifndef)
code_1.cpp
code_2.cpp
this works:
code_1.h includes image-header.h
code_1.cpp includes code_1.h, image-source.h
code_1.cpp use images
code_2.h includes code_1.h
code_2.cpp includes code_2.h
code_2.cpp use images
whenever I include image-source.h too in code_2.cpp, I get following message from the linker:
C:/upp/out/path/MINGW.Debug.Debug_full.Gui.Main.Mt\devicetree.o: In function `_ZN11OL_Controls3ImlEv':
C:/upp/uppsrc/Draw/iml_source.h:33: multiple definition of `OL_Controls::Iml()'
C:/upp/out/path/MINGW.Debug.Debug_full.Gui.Main.Mt\$blitz.o:C:/upp/uppsrc/Draw/iml_source.h:33: first defined here