Compilation errors (rev 2088)
I haven't svn updated and recompiled in a couple days, but from what I can tell a revision or two ago in several files (I haven't found them all yet) the macro definition for windows was changed from _WIN32 to _WINDOWS which completely breaks compilation on Windows 7 x64 under Visual Studio 2010 Pro targeting the x32 debug build.
I'm currently going through and fixing this in my source to see if anything else is broken. Edit 1: Turns out this modification was done approximately 170 times. Source compiled fine after a Find and Replace All. :) Edit 2: Well after the Find and Replace was done the only error I have left are linking errors for World and Zone stating that perl514.lib is missing. Was there a perl upgrade I missed somewhere? lol |
You can find the 2 declarations of 5.14 and change them to whatever version you use.
|
Thank you very much, I had just found the post on that and where it was hiding in the source. :)
Edit #3 for the night: And now it's barfing with unresolved external symbols: "public: void __thiscall QueryServConnection::SetConnection(class EmuTCPConnection *)" (?SetConnection@QueryServConnection@@QAEXPAVEmuTCP Connection@@@Z) referenced in function "public: bool __thiscall Console::Process(void)" (?Process@Console@@QAE_NXZ) \trunk\EQEmuServer\world\console.obj World "public: bool __thiscall QueryServConnection::Process(void)" (?Process@QueryServConnection@@QAE_NXZ) referenced in function _main \trunk\EQEmuServer\world\net.obj World "public: __thiscall QueryServConnection::QueryServConnection(void)" (??0QueryServConnection@@QAE@XZ) referenced in function "void __cdecl `dynamic initializer for 'QSLink''(void)" (??__EQSLink@@YAXXZ) \trunk\EQEmuServer\world\net.obj World "public: bool __thiscall QueryServConnection::SendPacket(class ServerPacket *)" (?SendPacket@QueryServConnection@@QAE_NPAVServerPa cket@@@Z) referenced in function "public: bool __thiscall ZoneServer::Process(void)" (?Process@ZoneServer@@QAE_NXZ) \trunk\EQEmuServer\world\zoneserver.obj World Odds are world is trying to link to the new queryserver but I was under the impression that wasn't in use yet, plus I can't get it to add properly to my solution, it keeps showing up in the project list as 'ucs' which sucks because I've already go that entry in the list. lol |
Okay, got the linking errors fixed. I didn't see the new Server10 solution, which I rebuilt all my settings and stuff in. Working fine now.
|
Kalastrom, what exactly did you do to fix those linker error messages? I cant seem to get past those.
|
Think I'm having the same problem. Been a few months since I last pulled and compiled. Had kept VS2008 on just to compile EQEmu, but have now switched completely to 2010.
Specs: Machine running EQEmu Server 2008, SP2 MySQL 5.5.19 CE x32 Perl 5.14 x32 Machine Compiling EQEmu Win 7 Ult x64 MySQL is NOT installed on this machine Perl is NOT installed on this machine Building ReleaseBots Win32 Clean pull of EQEmu Rev 2097 (last rev i had was 1600 or so) New dependancy folder containing only: MySQL include and lib folders copied from MySQL 5.5.19 Perl lib\CORE folder copied from Perl 5.14 ZLib 1.2.5 from https://sourceforge.net/projects/libpng/files/zlib/1.2.5/zlib125-dll.zip/download Have set all the VC++ Directories to the appropriate paths per this post http://www.eqemulator.org/forums/showthread.php?t=32980 Compiling throws the following errors: Code:
Error 27 error LNK2019: unresolved external symbol _inflateInit2_ referenced in function "unsigned int __cdecl InflatePacket(unsigned char const *,unsigned int,unsigned char *,unsigned int,bool)" (?InflatePacket@@YAIPBEIPAEI_N@Z) \eqlaunch\packet_functions.obj eqlaunch Any idea what i missed? |
Afraid I can't be of much help other than to confirm (based on other threads) that those errors are due to a problem with zlib.
|
Thanks Kalua, might try a few older versions of ZLIB then and see what happens.
|
I fixed that error by replacing zdll.exp and zdll.lib in trunk/EQEmuServer/zlib/lib/ with the versions I found in zlib123-dll.zip in its lib folder. I got zlib123-dll.zip from the EQEmu Essentials.rar, which I downloaded from a megaupload link I found on these forums. If you've followed recent events, megaupload just got taken down by the US gov. However, their campaign against file hosting websites appears to be in vain, for I went to hotfile and uploaded zlib123-dll.zip for you. Or you can find it yourself somewhere probably. Anyway, take that US gov!
|
Hmmm... tried that and still the same uresolved externals error...
|
Well, I did also extract the entirety of that zip file to C:\zlib and changed the VC++ directories to reference C:\zlib\include for includes and C:\zlib\lib for libraries. It's just that after that didn't work, I did what I mentioned above. However, this step is in the tutorials so you probably already did it...
|
I figured out my problem, maybe this will help others.
Secrets pointed out "Just as a forewarning, perl 5.14 only will work under 64-bit compiles linked with 64-bit perl. I haven't figured out the issue with activeperl and 32-bit yet. Keep that in mind when making a Perl 5.14 compile." http://www.eqemulator.org/forums/sho...hlight=perl510 I switched MySQL to an x64 build and Perl 5.14 to an x64 build Also, updated the VC++ Directories to *remove* any reference to ZLib Deleted my ZLib folder (NOT the one in the EMU Source) and viola! it compiled and runs! Haven't had a chance to log in yet, but I've gotten that far at least! |
All times are GMT -4. The time now is 03:05 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.