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 05-13-2005, 06:49 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

No, you have to remove it from the project.
Reply With Quote
  #2  
Old 05-14-2005, 02:09 AM
Sarepean
Discordant
 
Join Date: Sep 2004
Posts: 253
Default

Every single winsock2.h error I receive in ANY compile comes from 5 or 6 files and they all start with this "perl_". For example, "perl_client" and stuff like that.

I think I've found the reason why those error out, but I can't find a way to fix it. The devs say that it was fixed in the development branch, but even that compiles with the same errors I was getting before. =/

Here's the post (I can't find quote, otherwise I'd quote it)

-----------------------------------------------------------------

After some code inspection, I found out that both Apache-1.3.20 (os.h) and
mod_perl-1.26 (mod_perl.h) include <winsock2.h> BUT Perl-5.6.1
(/usr/perl/lib/CORE/sys/socket.h) includes <winsock.h>
As the result, compilation failed because of these 2 conflicting header file
inclusion. The include hierachy looks something like this:

Icon.h -> mod_perl.h -> winsock2.h and perl.h
perl.h -> sys/socket.h (in /perl/lib/CORE) -> winsock.h!!

In general, any mod_perl Apache modules (eg: Apache::Icon and FileMan) with C code would fail to compile due to the exact reason.

Any suggestions on how to get around this?

---------------------------------------------------------------------


None of my other files have a problem with any winsock2.h or winsock.h complications. The way I understand it is that to fix this, I would either have to #define WIN_LEAN_AND_MEAN or have the #include winsock2.h call before any calls to icon.h or perl.h

I've installed my platform SDK as recommended by another thread and that didn't do anything for my problem. =/ I'm also running the latest service pack for Visual Studio 2003 .NET Pro.

Please Advise.
-Sarepean
Reply With Quote
  #3  
Old 05-14-2005, 04:32 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

WARNING: This is a rough hack so I take no responsiblity for what it may do to your system.

This is how I got zone with perl support to compile on my Windows XP/Visual Studio .Net 2003 system. I went in-game and did a fairly thorough check of standard game functions, perl functions, and server stability/speed and everything seemed alright.

First, edit C:\Perl\lib\CORE\sys\socket.h

Change the winsock.h include line to winsock2.h

Finally add this to perlparser.cpp right below the features.h include line:

Code:
#define WIN32_LEAN_AND_MEAN
#ifdef __GNUC__
#  define Win32_Winsock
#endif
After it compiles you may wanna change socket.h back to normal, especially if you do other work with the perl source.
Reply With Quote
  #4  
Old 05-15-2005, 02:37 AM
Sakrateri's Avatar
Sakrateri
Dragon
 
Join Date: Mar 2004
Location: England
Posts: 776
Default

Im new to compiling , how would I go about removing it from the project ? or is that to complicated to explain here? anyways thanks for the reply
__________________
KhepriGames

Game Gallery

My Forums

Reply With Quote
  #5  
Old 05-15-2005, 03:19 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

When you open Visual Studio to the left hand side, you'll see the project window with all the files listed (Visual Studio 6.0 requires you tab over.) Under both World and Zone Source Files EQNetwork.cpp will be listed. Just highlight it both times and and hit delete. If you want to be sure, also remove EQNetwork.h which is listed under World and Zone Header Files.
Reply With Quote
  #6  
Old 05-15-2005, 06:41 AM
Sakrateri's Avatar
Sakrateri
Dragon
 
Join Date: Mar 2004
Location: England
Posts: 776
Default

ok , with out that taken out I get about four errors having to do with EQstream but once I highlight it and remove it I get this

Linking...
client.obj : error LNK2001: unresolved external symbol "public: static unsigned char EQApplicationPacket::default_opcode_size" (?default_opcode_size@EQApplicationPacket@@2EA)
client.obj : error LNK2019: unresolved external symbol "protected: __thiscall EQPacket::EQPacket(unsigned short,unsigned char const *,unsigned int)" (??0EQPacket@@IAE@GPBEI@Z) referenced in function "public: __thiscall EQApplicationPacket::EQApplicationPacket(void)" (??0EQApplicationPacket@@QAE@XZ)
client.obj : error LNK2019: unresolved external symbol "public: __thiscall EQPacket::~EQPacket(void)" (??1EQPacket@@QAE@XZ) referenced in function $L109204
client.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQApplicationPacket::SetOpcode(enum EmuOpcode)" (?SetOpcode@EQApplicationPacket@@QAEXW4EmuOpcode@@ @Z) referenced in function "public: __thiscall EQApplicationPacket::EQApplicationPacket(enum EmuOpcode)" (??0EQApplicationPacket@@QAE@W4EmuOpcode@@@Z)
client.obj : error LNK2019: unresolved external symbol "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcodeConst(void)const " (?GetOpcodeConst@EQApplicationPacket@@QBE?BW4EmuOp code@@XZ) referenced in function "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcode(void)const " (?GetOpcode@EQApplicationPacket@@QBE?BW4EmuOpcode@ @XZ)
packet_dump.obj : error LNK2001: unresolved external symbol "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcodeConst(void)const " (?GetOpcodeConst@EQApplicationPacket@@QBE?BW4EmuOp code@@XZ)
packet_dump_file.obj : error LNK2001: unresolved external symbol "public: enum EmuOpcode const __thiscall EQApplicationPacket::GetOpcodeConst(void)const " (?GetOpcodeConst@EQApplicationPacket@@QBE?BW4EmuOp code@@XZ)
client.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQStream::SendDisconnect(void)" (?SendDisconnect@EQStream@@QAEXXZ) referenced in function "public: void __thiscall EQStream::Close(void)" (?Close@EQStream@@QAEXXZ)
client.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQStream::QueuePacket(class EQApplicationPacket const *,bool)" (?QueuePacket@EQStream@@QAEXPBVEQApplicationPacket @@_N@Z) referenced in function "public: void __thiscall Client::QueuePacket(class EQApplicationPacket const *,bool)" (?QueuePacket@Client@@QAEXPBVEQApplicationPacket@@ _N@Z)
client.obj : error LNK2019: unresolved external symbol "public: class EQApplicationPacket * __thiscall EQStream::PopPacket(void)" (?PopPacket@EQStream@@QAEPAVEQApplicationPacket@@X Z) referenced in function "public: bool __thiscall Client::Process(void)" (?Process@Client@@QAE_NXZ)
console.obj : error LNK2001: unresolved external symbol "class OpcodeManager * EQOpcodeManager" (?EQOpcodeManager@@3PAVOpcodeManager@@A)
net.obj : error LNK2001: unresolved external symbol "class OpcodeManager * EQOpcodeManager" (?EQOpcodeManager@@3PAVOpcodeManager@@A)
net.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall OpcodeManager::SetOpcode(enum EmuOpcode,unsigned short)" (?SetOpcode@OpcodeManager@@UAEXW4EmuOpcode@@G@Z)
net.obj : error LNK2001: unresolved external symbol "public: virtual enum EmuOpcode __thiscall SharedOpcodeManager::EQToEmu(unsigned short)" (?EQToEmu@SharedOpcodeManager@@UAE?AW4EmuOpcode@@G @Z)
net.obj : error LNK2001: unresolved external symbol "public: virtual unsigned short __thiscall SharedOpcodeManager::EmuToEQ(enum EmuOpcode)" (?EmuToEQ@SharedOpcodeManager@@UAEGW4EmuOpcode@@@Z )
net.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall SharedOpcodeManager::ReloadOpcodes(char const *)" (?ReloadOpcodes@SharedOpcodeManager@@UAE_NPBD@Z)
net.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall SharedOpcodeManager::LoadOpcodes(char const *)" (?LoadOpcodes@SharedOpcodeManager@@UAE_NPBD@Z)
net.obj : error LNK2019: unresolved external symbol "public: __thiscall OpcodeManager::OpcodeManager(void)" (??0OpcodeManager@@QAE@XZ) referenced in function "public: __thiscall SharedOpcodeManager::SharedOpcodeManager(void)" (??0SharedOpcodeManager@@QAE@XZ)
net.obj : error LNK2019: unresolved external symbol "public: void __thiscall EQStreamFactory::Close(void)" (?Close@EQStreamFactory@@QAEXXZ) referenced in function _main
net.obj : error LNK2019: unresolved external symbol "public: class EQStream * __thiscall EQStreamFactory::Pop(void)" (?Pop@EQStreamFactory@@QAEPAVEQStream@@XZ) referenced in function _main
net.obj : error LNK2019: unresolved external symbol "public: bool __thiscall EQStreamFactory::Open(void)" (?Open@EQStreamFactory@@QAE_NXZ) referenced in function _main
net.obj : error LNK2019: unresolved external symbol "public: __thiscall EQStreamFactory::EQStreamFactory(enum EQStreamType,int)" (??0EQStreamFactory@@QAE@W4EQStreamType@@H@Z) referenced in function _$E1
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall SharedLibrary::GetError(void)" (?GetError@SharedLibrary@@QAEPBDXZ) referenced in function "public: bool __thiscall LoadEMuShareMemDLL::Load(void)" (?Load@LoadEMuShareMemDLL@@QAE_NXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: void * __thiscall SharedLibrary::GetSym(char const *)" (?GetSym@SharedLibrary@@QAEPAXPBD@Z) referenced in function "public: bool __thiscall LoadEMuShareMemDLL::Load(void)" (?Load@LoadEMuShareMemDLL@@QAE_NXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: virtual bool __thiscall SharedLibrary::Load(char const *)" (?Load@SharedLibrary@@UAE_NPBD@Z) referenced in function "public: bool __thiscall LoadEMuShareMemDLL::Load(void)" (?Load@LoadEMuShareMemDLL@@QAE_NXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: __thiscall SharedLibrary::SharedLibrary(void)" (??0SharedLibrary@@QAE@XZ) referenced in function "public: __thiscall LoadEMuShareMemDLL::LoadEMuShareMemDLL(void)" (??0LoadEMuShareMemDLL@@QAE@XZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall SharedLibrary::Unload(void)" (?Unload@SharedLibrary@@UAEXXZ) referenced in function "public: virtual void __thiscall LoadEMuShareMemDLL::Unload(void)" (?Unload@LoadEMuShareMemDLL@@UAEXXZ)
EMuShareMem.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall SharedLibrary::~SharedLibrary(void)" (??1SharedLibrary@@UAE@XZ) referenced in function "public: virtual __thiscall LoadEMuShareMemDLL::~LoadEMuShareMemDLL(void)" (??1LoadEMuShareMemDLL@@UAE@XZ)
.\../build/World.exe : fatal error LNK1120: 25 unresolved externals


any idea why?
__________________
KhepriGames

Game Gallery

My Forums

Reply With Quote
  #7  
Old 05-15-2005, 07:13 AM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

EQStream needs to be compiled WHat are the errors? Winsock?
Reply With Quote
Reply

Thread Tools
Display Modes

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 05:59 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3