I ALWAYS get errors like this with ENIGMA when I am making something. And I am never able to fix these. Google search revelaed that is means what it says it means - I have multiple definitions of some structure or the like. This problem arrises when I include the first.h file (where structs are declared) into another second.h file and then include that second.h inside a project where I inclued the first.h then I will have two declarations of the same thing. The twist though, is that I DON'T. I think ENIGMA does include it somewhere, but I don't. The file structure:
include.h
main_code.cpp
I have #include "include.h" inside main_code.cpp. That is it. I don't include that "include.h" anywhere else. This is an extension though, so I have this in the Makefile:
SOURCES += $(wildcard Universal_System/Extensions/SomeExtension/main_code.cpp)
ifeq ($(PLATFORM), Win32)
LDLIBS += $(wildcard Universal_System/Extensions/SomeExtension/libs/*.a)
endif
This is it.
So for the love of anything - WHY the hell it trows this error? I had this problem when I added surfaces as well. That is why it took me more than a year to add that god damn FBO support.
edit: It shows:
.eobjs/Windows/Windows/Run/SHELLmain.o:SHELLmain.cpp:(.text+0x6): first defined here
So ENIGMA includes the include.h inside the SHELLmain.cpp even when I don't ask it to? It would be fine if it did that and I could leave out #include "include.h" in the .cpp, but then it errors that I don't have struct's defined. So I either don't have them defined, or I have defined them twice. I don't really have a choice there.
edit2: I also tried "include guard" technique. So I had:
#ifndef MYFILE_H
#define MYFILE_H
//contents of include.h
#endif
And it still had the same error. This doesn't even make sense, because I can't have included it twice in this case.