Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Support > Archive::Tutorials/Howto's

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

Reply
 
Thread Tools Display Modes
  #1  
Old 06-08-2004, 05:21 AM
Flame_storm's Avatar
Flame_storm
Sarnak
 
Join Date: Jun 2004
Posts: 59
Default HOWTO: Compile DR4 with VC++ 6.0

ok, first of all you need to get all the files,

http://www.gzip.org/zlib/
http://cvs.biosprite.net/get.php?fil...05-29-2004.rar
http://www.freewebs.com/guidepics/mysql.zip

Save all of those files to the Desktop.

Once u have downloaded them all, extract them to the desktop in a folder named what the .zip file is called.

Like, mysql.zip --extract--> mysql

Now that you have all the files, we need to move some.

Open the mysql foler, and the zlib folder
move all of the files in the mysql folder into the zlib\include folder.

Now, open up VC++ 6.0.

Go to the tools Menu, and click options.

Now look for the Tab named Directories. Click it.

Make sure the first dropdown says Win32, and the second Include.

Now go to the box below that, and go to the bottom line, click it and click the ...

Target the zlib\include folder on your desktop, where you copies the files into.

now, on the second dropdown, switch it from Include to Library Files, and do the same thing, click the bottom line, ..., and target the Zlib\include folder.

Now click ok.

Close VC++ 6.0

Open the folder which u extracted the source in.

Open the EmuShareMem folder, and find Npctypes.cpp, and npctypes.h
and delete both of them.

now, go back one folder so you are looking at the wolrd folder, zone foler, and emusharemem foler.

Highlight every file in that folder your viewing, including folders, when everything is highlighted, right click one, and click properties, click the Read Only checkbox a few times until it is UNchecked.

if it asks you to change all files includeing files inside the folders say YES.

Now this will make it so you can edit the files slightly in VC++ 6.0

Open the File that says Server.dsw

This opens the whole project.

Now on the left there should be a box showing emusharemem classes, zone classes, and world classes, three seperate tree menus.

At the bottom of that box click Files View, if you do not have this box right click on the main screen somewhere, until a menu pops up, click Workspace.

Back to the Files View, click the + next to Emusharemem files, so it drops down into a tree view with 5 folders, then click the + on the first folder, named Source Files.

This should drop down with server files in it. look for Npctypes.cpp,
Remeber we deleted this, so if you try to compile at this point, it will give you an error saying that it cant find Npctypes.cpp.

So, double click Npctypes.cpp, it should ask if you want to create it, say yes, dont type anything in it, just close npctypes.cpp and save it, this way, you wont get any errors but it wont effect the compile.

Now, close the Source files folder, and open the Header files folder.

Do the same thing, find Npctypes.h double click it and make a new one, just close it and save.


If you double click it and it opens up a box with text, you forgot to DELETE the files, so go back and find that part.

Otherwise we are ready to compile

Go to the Build Menu at the top, and click set active configuration.

Select Emusharedmem - win32 release.

and click ok.

Now go back to Build menu. and click Rebuild all.

This will compile emusharedmem.dll

Go back to Active configuraion and Select Zone - win32 release

And then Rebuild all again.

One last time, go to active configuration, select World - win32 release

and rebuild all, if you have any errors you did something wrong.

The files should now be in the folder where the source code was. Go to your desktop, and open the Sourcecode folder (where you extracted the source code)
And there should be a Build Folder in there now.

Open it, and click Emusharemem.dll, and move it to your eqemu dir,
then move Zone.exe, and World.exe with it.

Congradualtions. You Compiled Dr4 with VC++ 6.0


If you have any problems, post the error here, i will try to help.
Reply With Quote
  #2  
Old 06-27-2004, 04:32 AM
Spyman2098
Fire Beetle
 
Join Date: Jun 2004
Posts: 2
Default

I have a compile problem ... my sharemem works ... then when i get to compile zone it gives me this error

Code:
Deleting intermediate files and output files for project 'Zone - Win32 Release'.
--------------------Configuration: Zone - Win32 Release--------------------
Compiling...
attack.cpp
beacon.cpp
client.cpp
client_process.cpp
command.cpp
doors.cpp
entity.cpp
EQEMuError.cpp
faction.cpp
forage.cpp
groups.cpp
hate_list.cpp
loottables.cpp
Map.cpp
mob.cpp
MobAI.cpp
net.cpp
npc.cpp
Object.cpp
parser.cpp
petitions.cpp
PlayerCorpse.cpp
spawn2.cpp
spawngroup.cpp
spells.cpp
worldserver.cpp
zone.cpp
zonedbasync.cpp
classes.cpp
crc32.cpp
database.cpp
dbasync.cpp
dbcore.cpp
DBMemLeak.cpp
debug.cpp
EMuShareMem.cpp
EQNetwork.cpp
eqtime.cpp
guilds.cpp
Item.cpp
md5.cpp
misc.cpp
MiscFunctions.cpp
moremath.cpp
Mutex.cpp
packet_dump.cpp
packet_dump_file.cpp
packet_functions.cpp
races.cpp
serverinfo.cpp
TCPConnection.cpp
timer.cpp
Linking...
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _malloc already defined in LIBCMT.lib(malloc.obj)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: __nh_malloc already defined in LIBCMT.lib(malloc.obj)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: __heap_alloc already defined in LIBCMT.lib(malloc.obj)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _calloc already defined in LIBCMT.lib(calloc.obj)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _realloc already defined in LIBCMT.lib(realloc.obj)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: _free already defined in LIBCMT.lib(free.obj)
LIBCMTD.lib(dbgheap.obj) : error LNK2005: __msize already defined in LIBCMT.lib(msize.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: __get_sbh_threshold already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: __set_sbh_threshold already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_heap_init already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_find_block already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_free_block already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_block already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_new_region already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_alloc_new_group already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_resize_block already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_heapmin already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_heap_check already defined in LIBCMT.lib(sbheap.obj)
LIBCMTD.lib(sbheap.obj) : error LNK2005: ___sbh_threshold already defined in LIBCMT.lib(sbheap.obj)
LINK : warning LNK4098: defaultlib "LIBCMTD" conflicts with use of other libs; use /NODEFAULTLIB:library
zlib.lib(trees.obj) : error LNK2001: unresolved external symbol ___security_cookie
zlib.lib(inftrees.obj) : error LNK2001: unresolved external symbol ___security_cookie
zlib.lib(trees.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
zlib.lib(inftrees.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
../Build/Zone.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

Zone.exe - 24 error(s), 1 warning(s)
Any ideas? ... any help would rock!
Reply With Quote
  #3  
Old 06-27-2004, 05:09 AM
Virus11
Discordant
 
Join Date: May 2004
Posts: 311
Default

This is incredibly confusing and there allready is a guide for this.

http://www.eqemulator.net/forums/viewtopic.php?t=15328
__________________

Reply With Quote
  #4  
Old 06-27-2004, 05:24 AM
Spyman2098
Fire Beetle
 
Join Date: Jun 2004
Posts: 2
Default

ok .... i dont have that embxs.cpp and embxs.h file that it lists in the perl tutorial .. could that be the problem?
Reply With Quote
  #5  
Old 06-28-2004, 10:55 AM
gthang187
Sarnak
 
Join Date: Dec 2003
Posts: 53
Default

this still works guys if you do it step by step but you will havta find the files yourself
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 10:02 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