First, I have searched exhaustively everywhere I can think of, and I have not found a fix for this yet. I am able to compile the latest version of MQ2 (MQ2-20070118.zip) perfectly, but for some reason I get an error on versions from around Nov 2005. So far, I have tried MQ2-20051101.zip, MQ2-20051116.zip, MQ2-20051118.zip adn MQ2-20051128.zip, and all of them fail at the same point.This is almost always caused by clicking macroquest2.dsw file instead of the MacroQuest2.sln when using Visual C++ 2005 Express Edition as their compiler.
I am following the compile intructions word-for-word on the Wiki and as I said, I can compile the latest version 100% of the way through and I can run it fine. The problem is that I am trying to get MQ2 working for fresh (non-patched) Titanium installs to work with EQEmu. And the recent versions don't work at all with the older client.
I am not 100% sure which version of MQ2 I should use, because the windbg command doesn't work right for me, so I cannot tell the exact version of my eqgame.exe. I am guessing and going to try all of the MQ2 builds from around Nov 2005, because that is what the eqgame.exe and eqnews.txt have set as their modified dates. I am using the old versions of MQ2 from this page, which I think has every build, so one of them is bound to work. The problem is that none around that time period will compile for me.
Here is the error I get:
I know this is a common error and in most cases is caused by clicking macroquest2.dsw file instead of the MacroQuest2.sln when using Visual C++ 2005 Express Edition as their compiler (as I updated in the wiki). I am running Visual C++ 2005 Express Edition and Microsoft Platform SDK to compile and I am clicking the right project file (MacroQuest2.sln). As I already said, the intructions work perfectly for me with the latest MQ2 version, just not with these older versions. And, I am deleting the directory and making a new one each time I try to compile a different version.EQClasses.cpp
.\EQClasses.cpp(129) : error C3068: 'EQClasses::CStmlWnd::AppendSTML' : a 'naked' function cannot contain objects that would require unwinding if a C++ exception occurred
Build log was saved at "file://c:\Unzipped\MQ2\MQ2Main\Intermediate\BuildLog.htm"
MQ2Main - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
I am out of ideas of how to get this working. Are the older MQ2 versions just not compatible with Visual C++ 2005 Express Edition? Or, is there a different set of compile instructions somewhere other than the wiki that has steps for the older MQ2 version? Or, maybe I just need to tweak a setting in Visual C++ 2005 Express Edition to stop it from dying at that part?
Thanks in Advance for any help. It is much appreciated. If I get a good answer that resolves my problem, I will make sure to update the Wiki with the new information.
Teh D00d



