I found the problem. Silly really but the class hierarchy that caused the problem had a virtual function called GetObject which conflicted with the windows #define with the same name. The header files included these windows header files in different order, which confused the linker. So, in fact the problem was corrupted vtables, but I didn't expect this to be reason! Well you learn something every day...
However, big thanks to all that replied!
If I were you I'd think twice before migrating the build within the IDE. I understand that seems more confortable to you, but the builtin build facilities are really limited.
Visual Studio's builtin build system does not scale ! When your project reaches a certain size, it becomes more of a hindrance than anything else. Microsoft recognizes this fact and currently pushes for their alternative called MSBuild.
Try modifying a compile option when your solution contains over 80 different subprojects... It's a mouse clic fest, tedious and error prone...
At this point you'll have the following options :
- Editing the project files manually (still an awful lot of files).
- Generating the Visual Studio solution from a description.
- Integrate an alternative build system within the IDE (if that exists).
- Using a more adequate external build system and call it from the IDE (you also get the opportunity to become cross platform).
These are make variants (build is driven by Makefiles or similar):
- nmake: probably the least powerful, windows only
- OMake: cross platform (nice)
- Scons: cross platform (never used it)
- CMake: cross platform (never used it)
- Rake: cross platform (sucks)
- gmake: cross platform but expect issues with paths on windows (comes from the 'nix world)
These are ant variants (build is driven by xml descriptions instead of makefiles):
- nant
- MSBuild (from Microsoft)
Anyway, remember that compiling outside the IDE does not prevent you from using it for editing, debugging (and the debugger is nice) and so on !
Regarding your issue, you forgot to add the libraries listed in the following excerpt:
TAMLIB = $(LIBDIR)\tam_$(NAMETAG).lib
TAMCLIB = $(LIBDIR)\tamc_$(NAMETAG).lib
MMSLIB = $(LIBDIR)\mmsc_$(NAMETAG).lib
Best Answer
Click
This gives you a list of all break points, and you can select the columns to be displayed.