Ok, compiling has become a nightmare for most of our Windows users and I would like to make a step forward in making the process as painless as possible.
How to compile your own binaries...
Pre-requisites:
Windows Compiler: - This is needed to compile code into an executable binary (.exe) which will result in World.exe/Zone.exe/Chatserver.exe/queryserv.exe and eqemusharemem.dll
Note: Visual Studio is made for several language and project types. You will really only need the C++ environment so if you get asked what part of the applications you want to install or setup you can keep this in mind.
SVN:
TortoiseSVN Download - This will be needed to check out the source code. You can check out the source code at this link:
Accompanied Software Version (Not Required, but listed here to pair with the Perl versions)
32-Bit Compiles -
Perl 5.12 Download
64-Bit Compiles -
Perl 5.14 Download
Simplified Howto:- I made quite a few SVN changes for VS2010 and spent 5-6 hours getting things cleaned up and working nice so that people don't have a hell of a hard time trying to get binaries compiled for EQEmulator, so this should be quite easy.
* Assuming you have
VS2010 installed right now
1) Checking out Source Code:
http://projecteqemu.googlecode.com/svn/trunk/
For those not familiar with checking out source code to a folder:
CLICK HERE
2) Open the solution:
Open up EQEmuServer\Server10.sln
3) Choose your configuration:
- You will need to select the appropriate configuration per the architecture type. So for example if you are going to compile 32-bit Bots you will need to select Win32 and ReleaseBots
- Go up to the toolbar -> Build -> Compile. The build will start and take a few minutes to complete
- Once your compile is complete you should be able to find your binaries located under folder Build for x86 and folder x64 for x64.
Done! It was that simple! You can thank me later... Or not whatever I don't care LOL
* Visual Studio 08 - Not recommended, but can still use (Perl 5.12) x84 (32-bit)
Tools -> Options -> VC++ Directories -> Show Directories for: Include Files:
Make the following entries in the same order:
../perl_x86/CORE
../zlib_x86/include
../mysql_x86/include
Tools -> Options -> VC++ Directories -> Show Directories for: Library Files:
Make the following entries in the same order:
../perl_x86/CORE
../zlib_x86/lib
../mysql_x86/lib
Choose your configuration build and build your solution.
Other Details:
Includes & Libraries - These are needed to supplement the source code with instructions on how to use Perl/mysql/zlib etc.
Traditionally, this is something that you would have to set up in Visual Studio before you would be able to compile EQEmulator successfully. As of last commit all you will need to do is make sure you have the following in your EQEmu SVN folder:
mysql
perl
zlib - x64 and x86 zlib included through the SVN
*Note: You can use whatever version of Perl you want, but the SVN will be already setup for 5.12 in 32-bit and 5.14 in 64-bit. You can set your perlxxx.lib in (Properties -> Configuration Properties -> Linker -> Input -> Additional Dependencies), you typically set these on World and Zone. You will have to have the library to match the version that you compile with.
So for example, let's say you downloaded Perl 5.15 and you wanted to replace 5.14, you will need to go into configuration properties listed above to change it to perl515.lib and you will have to add the library folder to the project in the same file structure.
Just for reference, this is where you setup your library and include paths VS2010: (You shouldn't have to change these in VS2010 if you put them in the EQEmu SVN folder mentioned above)
Includes: Properties -> Configuration Properties -> C/C++ -> General
Libraries: Properties -> Configuration Properties -> Linker -> General