Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 09-02-2012, 06:41 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default Windows Binary Compiling Guide

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


Last edited by Akkadius; 09-15-2012 at 06:38 PM..
Reply With Quote
 


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 09:25 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