Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Development > Archive::Development

Archive::Development Archive area for Development's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 07-16-2003, 11:51 AM
alkrun
Sarnak
 
Join Date: Jan 2002
Posts: 66
Default eqemu won't compile on vs.net 2003

Do you guys already know that the emulator won't compile on VS.NET 2003? Since you're still using the old C style includes for standard headers (which were deprecated in VS.NET, and now are fully removed in VS.NET 2003) it doesn't compile anything.

I don't mind going through the code again like I did lo those many months ago, but I don't want to do it if it's just going to be overlooked again. It's a waste of my time.
Reply With Quote
  #2  
Old 07-16-2003, 02:08 PM
dcl
Sarnak
 
Join Date: Jun 2003
Posts: 71
Default

It compiles (it's what I use)

You just get a lot of warnings (which don't affect the executable)
Reply With Quote
  #3  
Old 07-16-2003, 02:40 PM
alkrun
Sarnak
 
Join Date: Jan 2002
Posts: 66
Default

You get warnings in VS.NET. In the new version, VS.NET 2003 I promise you, it doesn't build. The warnings that you get in VS.NET about deprecated IO headers using C-Style includes mean that Microsoft planned on (and did) take the compatibility for the old include style out of VS.NET 2003.
[/b]
Reply With Quote
  #4  
Old 07-16-2003, 03:18 PM
Merth
Dragon
 
Join Date: May 2003
Location: Seattle, WA
Posts: 609
Default

I can fix, but unfortunately <iostreams> is not part of earlier versions of visual studio (including vs.net 7.0). So I will have to use a precompiler statement to distinguish the versions - anyone know of a #define for VS IDE version? Or of a different way to handle this situation?
Reply With Quote
  #5  
Old 07-16-2003, 03:26 PM
alkrun
Sarnak
 
Join Date: Jan 2002
Posts: 66
Default

#include <iostreams>

works in VS 6, VS.NET and VS.NET 2003. It works in gcc too. From what I remember there isn't a file in the include folder named iostreams without the extension in VS6, but the compiler knows how to handle it by adding the extension and namespace declarations.
Reply With Quote
  #6  
Old 07-16-2003, 04:55 PM
Merth
Dragon
 
Join Date: May 2003
Location: Seattle, WA
Posts: 609
Default

What kind of magic did you do to get it to compile? Here's what I see:

Code:
#include <iostreams>

c:\EQEMUcvs\NewSource\zone\client_process.cpp(22) : fatal error C1083: Cannot open include file: 'iostreams': No such file or directory
Reply With Quote
  #7  
Old 07-16-2003, 05:13 PM
Merth
Dragon
 
Join Date: May 2003
Location: Seattle, WA
Posts: 609
Default

Nevermind, I figured it out. The documentation says this, so that's why I went with <iostreams>

Code:
useoldio.h

/*
 * Warning C4995, '_OLD_IOSTREAMS_ARE_DEPRECATED' is a deprecated name, is 
 * being issued because the old I/O Streams headers iostreams.h et al will no
 * longer be supported from VC8.  Replace references such as #include 
 * <iostreams.h> with #include <iostreams>, using the new, more conformant, I/O
 * Streams headers.
 */
I used <iostream> and the warning went away.
Reply With Quote
  #8  
Old 07-16-2003, 05:33 PM
dcl
Sarnak
 
Join Date: Jun 2003
Posts: 71
Default

Ah, my mistake.... for some reason I thought I was running 2003 on my home machine, since I run it on my work machine. Sorry
Reply With Quote
  #9  
Old 07-16-2003, 05:59 PM
alkrun
Sarnak
 
Join Date: Jan 2002
Posts: 66
Default

No problem. And Merth, glad you got it working.

I've got a rough build of 5.0 dev running as the "Pollo Verde" server. It seems to be working ok except for some minor database problems (i.e. no items) but everything else looks good.
Reply With Quote
  #10  
Old 07-17-2003, 08:08 AM
Merth
Dragon
 
Join Date: May 2003
Location: Seattle, WA
Posts: 609
Default

This has been fixed and will be effective on the next push out to CVS.
Reply With Quote
  #11  
Old 07-26-2003, 10:36 PM
websurf
Fire Beetle
 
Join Date: Jul 2003
Posts: 5
Default

so I tried to change the includes to #include <iostreams>, and that would give me inc file not found.

and I also tried #include <iostream>, and this will give me tons of errors of cout, cin...etc being unidentified.

Any suggestions?
Reply With Quote
  #12  
Old 07-27-2003, 02:57 AM
Merth
Dragon
 
Join Date: May 2003
Location: Seattle, WA
Posts: 609
Default

Change #include <iostream.h> to:

Code:
#include <iostream>
using namespace std;
There's one other ios header to change, and I think it's <fstream.h>. Do the same with this as with iostream.
Reply With Quote
  #13  
Old 07-27-2003, 08:59 AM
websurf
Fire Beetle
 
Join Date: Jul 2003
Posts: 5
Default

cool, so that solves that prob.

Now its giving me linkage error when I try to compile zone.

Quote:
LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
client_process.obj : error LNK2019: unresolved external symbol "public: void __thiscall Doors::HandleClick(class Client *)" (?HandleClick@Doors@@QAEXPAVClient@@@Z) referenced in function "private: int __thiscall Client::HandlePacket(class APPLAYER const *)" (?HandlePacket@Client@@AAEHPBVAPPLAYER@@@Z)
zone.obj : error LNK2019: unresolved external symbol "public: __thiscall Doors:oors(struct Door const *)" (??0Doors@@QAE@PBUDoor@@@Z) referenced in function "public: void __thiscall Zone::LoadZoneDoors(char const *)" (?LoadZoneDoors@Zone@@QAEXPBD@Z)
../build/ZoneDebug.exe : fatal error LNK1120: 2 unresolved externals
Plz give some advice.
Reply With Quote
  #14  
Old 07-27-2003, 09:22 AM
Edgar1898
Senior Member
Former EQEmu Developer
Current EQ2Emu Lead Developer
 
Join Date: Dec 2002
Posts: 1,065
Default

add doors.cpp and doors.h to your project
__________________
Lethal Encounter
Reply With Quote
  #15  
Old 07-27-2003, 10:49 AM
websurf
Fire Beetle
 
Join Date: Jul 2003
Posts: 5
Default

Ah, thanks.
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 05:43 PM.


 

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