View Single Post
  #2  
Old 12-08-2006, 04:19 AM
LostZaphod
Sarnak
 
Join Date: May 2006
Posts: 43
Default

Ok I run a machine that does not have mysql or perl installed, it is used only to compile the code.
I make directories that hold the necessary files to compile.

extract EQEmu-0.7.0-934 to c:\EQEmu-0.7.0-934
extract mysql (development version) to c:\mysql-4.0.23
extract perl to c:\perl

Go to the directory c:\mysql-4.0.23\zlib
double click zlib.dsw, when asked to convert the project answer yes.
Set the compile mode to "release" (in the solutions configuration drop down).
In the build menu, select build solution.
This will make c:\mysql-4.0.23\lib_release\zlib.lib

Make a directory named c:\EQEmu-0.7.0-934\mysql4
Copy these files to c:\EQEmu-0.7.0-934\mysql4

errmsg.h
mysql.h
mysqlclient.lib
mysqld_error.h
mysql_com.h
mysql_version.h
my_alloc.h
zconf.h
zlib.h
zlib.lib


Go to c:\perl and locate this file "BuildInfo.h", write down the path. Mine is "c:\perl\lib\core"

Ok now you have everything.
First you need to open "c:\EQEmu-0.7.0-934\zone\zone.vcproj" with notepad and
Search for all occurrences of "Releaseperl|win32" and replace with "Release|Win32" then save the file.
Now double click the solution file "c:\EQEmu-0.7.0-934\Server.sln" when asked to convert answer YES.

Set the compile mode to "release" (in the solutions configuration drop down).

Right click EMUShareMem and choose build.
It should compile without any errors.

Right click world, select properties and check/ set these values
c++, General, "Additional Includes Directories"
add ..\mysql4
add c:\perl\lib\core
add ..\common\socketlib
c++,preprocessor, add these items.... ,_EQDEBUG,EQDEBUG=5
linker, General, "Additional Library Directories"
add ..\mysql4
add ..\perl\lib\core
linker, Input, "Ignore Specific Library"
LIBCMT,LIBC,MSVCRT

click ok, then right click build.

Right click zone select properties and check/set these values
c++, General, "Additional Includes Directories"
add ..\mysql4
add ..\perl\lib\core

c++.preprocessor, change EQDEBUG=0 to EQDEBUG=5

linker, General, "Additional Library Directories"
add ..\mysql4
add ..\perl\lib\core

linker, Input, "Ignore Specific Library"
LIBCMT,LIBC,MSVCRT

Click ok, then right click build.

Last is you need to add a project to the solution (right click the solution name and select add an existing item)
add "c:\EQEmu-0.7.0-934\eqlaunch\eqlaunch.dsp
When asked to convert answer yes.
Close solution (exit all of the way out of the compiler)

Go to "c:\EQEmu-0.7.0-934\eqlaunch" and find the file "eqlaunch.vcproj" use notepad to edit this file

Rename these values inside of eqlaunch.vcproj
EQTCPServer.cpp to EmuTCPServer.cpp
EQTCPConnection.cpp to EmuTCPConnection.cpp

Save the file go back to c:\EQEmu-0.7.0-934\
Double click the solution file "c:\EQEmu-0.7.0-934\Server.sln"

Now right click eqlanuch and select properties and change / set these values

c++, General, "Warning Level"
set "Level 1 (/W1)"

Delete existing includes
add ..\mysql4

c++, Precompiled headers, "Precompiled header file"
..\Build\eqlaunch\release/eqlaunch.pch

c++,Output Files, "ASM List Location"
..\Build\eqlaunch\release/
c++,Output Files, "Object File Name"
..\Build\eqlaunch\release/
c++,Output Files, "Program Database File Name"
..\Build\eqlaunch\release/


Linker, General, "Additional Library Directories"
..\mysql4
Linker, General, "Output File"
..\Build/eqlaunch.exe

Linker,Input, Ignor liburary LIBCMTD

Then click ok and then right click and select build.
After all of this you should find these files
c:\EQEmu-0.7.0-934\build\world.exe
c:\EQEmu-0.7.0-934\build\zone.exe
c:\EQEmu-0.7.0-934\build\eqlaunch.exe
c:\EQEmu-0.7.0-934\build\EMuShareMem.dll

If you did not change the compile mode (debug) you will find and will have to rename the files before use
c:\EQEmu-0.7.0-934\build\worlddebug.exe
c:\EQEmu-0.7.0-934\build\zoneperl.exe
c:\EQEmu-0.7.0-934\build\eqlaunch.exe
c:\EQEmu-0.7.0-934\build\EMuShareMem.dll

I hope this helps....
Reply With Quote