I am using the Codeblock IDE with MingW, I have an ongoing problem
with the following types of errors. (File || Message)
obj\CEntity.o(.text+0x71a) || In function `ZN7CEntity6OnMoveEff':
OR
obj\CArea.o(.bss+0x0) || In function `ZNSt6vectorI5CTileSaIS0_EEaSERKS2_':
obj\CApp_OnCleanup.o(.bss+0x0):C:\DevCpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\include\c++\3.4.2\bits\vector.tcc || first defined here
Note that it gives the location as some sort of obj file so I cannot
see where it is in my code.
My C++ is improving a lot but I am still not very good understanding
how the compilers work and I cannot figure out what might be causing
the problem or how to go about solving issues like this. Unlike a code
problem it is really hard to google because the names have just been
scrambled.
Hopefully someone can help because it is holding me back and I just cannot find
or figure out a fix!
(I decided not to post my code because it is many interlinked files and I do not
know where the error is but I am trying to follow the tutorials on http://www.sdltutorials.com/sdl-tutorial-basics. The first few I can get to work
but then the later ones always seem to fail. It is obviously something I am doing wrong
because when I use the sample it works.)
Many GCC distributions (such as the MinGW distros I use) come with a utility names
c++filtwhich will turn a C++ mangled name into something closer to the source code declaration (I think your error messages left out some underscores):MSVC comes with a similar utility:
undnameHowever, you may want to update the MinGW you’re using. I get nice, demangled names directly in the error output going back to MinGW 3.4.5 (similarly for MSVC going back to VC++6):
Compiled with MinGW 3.4.5: