Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 12-10-2011, 10:43 PM
Kalastrom
Fire Beetle
 
Join Date: May 2011
Posts: 8
Default 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
Reply With Quote
  #2  
Old 12-10-2011, 10:56 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,490
Default

You can find the 2 declarations of 5.14 and change them to whatever version you use.
Reply With Quote
  #3  
Old 12-10-2011, 11:08 PM
Kalastrom
Fire Beetle
 
Join Date: May 2011
Posts: 8
Default

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
Reply With Quote
  #4  
Old 12-12-2011, 06:08 PM
Kalastrom
Fire Beetle
 
Join Date: May 2011
Posts: 8
Default

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.
Reply With Quote
  #5  
Old 01-18-2012, 09:10 PM
dark_fusion's Avatar
dark_fusion
Fire Beetle
 
Join Date: Jun 2007
Posts: 18
Default

Kalastrom, what exactly did you do to fix those linker error messages? I cant seem to get past those.
Reply With Quote
  #6  
Old 01-20-2012, 04:26 PM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 377
Default

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
Error    25    error LNK2019: unresolved external symbol _inflateEnd 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
Error    26    error LNK2019: unresolved external symbol _inflate 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
Error    24    error LNK2019: unresolved external symbol _deflateInit_ referenced in function "int __cdecl DeflatePacket(unsigned char const *,int,unsigned char *,int)" (?DeflatePacket@@YAHPBEHPAEH@Z)    \eqlaunch\packet_functions.obj    eqlaunch
Error    22    error LNK2019: unresolved external symbol _deflateEnd referenced in function "int __cdecl DeflatePacket(unsigned char const *,int,unsigned char *,int)" (?DeflatePacket@@YAHPBEHPAEH@Z)    \eqlaunch\packet_functions.obj    eqlaunch
Error    23    error LNK2019: unresolved external symbol _deflate referenced in function "int __cdecl DeflatePacket(unsigned char const *,int,unsigned char *,int)" (?DeflatePacket@@YAHPBEHPAEH@Z)    \eqlaunch\packet_functions.obj    eqlaunch
Error    28    error LNK1120: 6 unresolved externals    \Build\eqlaunch.exe    eqlaunch
The only thing I can think of is it has to do with ZLIB, but can't figure out what, I'm not a c++ person.

Any idea what i missed?
Reply With Quote
  #7  
Old 01-20-2012, 04:45 PM
kalua
Fire Beetle
 
Join Date: Nov 2011
Location: USA
Posts: 9
Default

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.
Reply With Quote
  #8  
Old 01-20-2012, 04:54 PM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 377
Default

Thanks Kalua, might try a few older versions of ZLIB then and see what happens.
Reply With Quote
  #9  
Old 01-20-2012, 05:30 PM
iRFNA
Fire Beetle
 
Join Date: Dec 2009
Posts: 23
Default

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!
Reply With Quote
  #10  
Old 01-21-2012, 10:32 AM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 377
Default

Hmmm... tried that and still the same uresolved externals error...
Reply With Quote
  #11  
Old 01-21-2012, 04:45 PM
iRFNA
Fire Beetle
 
Join Date: Dec 2009
Posts: 23
Default

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...
Reply With Quote
  #12  
Old 01-25-2012, 01:00 PM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 377
Default

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!
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:37 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3