PDA

View Full Version : How to recompile


Randymarsh9
06-20-2009, 03:05 PM
I know this is a very noobish question, but if I edit something in the source and want it to take effect, how would I actually go about doing that?

pfyon
06-20-2009, 04:51 PM
What operating system are you using?

trevius
06-20-2009, 05:00 PM
The wiki has tons of information if you search it a bit. Here is a post about a wiki page that should give you the info you need:

http://www.eqemulator.net/forums/showthread.php?t=28303

Randymarsh9
07-11-2009, 07:59 PM
I am trying to recompile using that guide but I've already ran into a problem, idk how to install zlib. I just have a folder with everything in it and I'm not sure how to use a .dll

Randymarsh9
07-12-2009, 12:22 AM
I did everything that that guide says and it isnt working at all. I keep succeeding and 1 build and getting 6 failures. One thing i noticed a few times was
LINK : fatal error LNK1181: cannot open input file 'zlib.lib' even though I am almost certain I pointed it to the places it says in the guide.
I also saw a ton of things like
7>c:\documents and settings\hp_administrator\my documents\solo server\source\common\../common/servertalk.h(443) : warning C4200: nonstandard extension used : zero-sized array in struct/union
7> Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
I did everything that guide said, I even got the new perl and installed it correctly.

Shendare
07-12-2009, 12:25 AM
The warnings are many and harmless.

As for zlib, if you have added the zlib lib and include directories to your VC++ environment, you may need make a copy of zlib\lib\zdll.lib as zlib.lib.

Randymarsh9
07-12-2009, 01:10 AM
......what?

blackdragonsdg
07-12-2009, 02:16 AM
Open Visual Studio and go to the tools menu and select options. Expand the Projects and Solutions menu in the left pane then choose VC++ Directories. Look for where it says Show directories for: and select Include Files. Now add the file path to the zlib.lib file.

mixxit
07-12-2009, 06:24 AM
That's because the guide links a file that doesn't have zlib.lib in it

It has a file called zdll.lib which you can just rename to zlib.lib without issues if you are compiling with Visual Studio 2008

Zandig
07-12-2009, 09:49 AM
The guide is for Express Edition.

I haven't tried the full version so I can't comment on that.

You do not have to rename any zlib file using Express Edition.

Randymarsh9
07-12-2009, 01:02 PM
well I renamed everything in C:\zlib\lib to be zlib instead of zdll, but I still failed 6 builds. When I look at it it still says stuff like fatal error: cannot open zlib.li. I have C:\zlib\lib and C:\zlib\include both in my directories thing too

Shendare
07-12-2009, 01:20 PM
To clarify blackgragonsdg's instructions, the lib folder must be in your "Library files" list, and the include folder must be in your "Include files" list. Make sure it's set this way.

Randymarsh9
07-12-2009, 02:35 PM
ok so can anyone just give an actual list of the things u need to add into the directories and what part? It's kinda hard trying to balance between what you all say and what the guide says

Shendare
07-12-2009, 02:43 PM
http://www.eqemulator.net/wiki/wikka.php?wakka=VS2008

According to the guide, we are following the instructions, specifically this part:


5) Update your Microsoft Visual C+(+) 2008 Express Edition directories:
'Tools/Options/Projects and Solutions/VC+(+) directories'
and add the following directories using the dropdown "Show directories for" box:

* Include files: C:\mysql\include
* Include files: C:\perl\lib\CORE
* Include files: C:\zlib\include
* Library files: C:\mysql\lib\opt
* Library files: C:\perl\lib\CORE
* Library files: C:\zlib\lib


use the "New Line (Ctrl-Insert)" to add the above directories in the appropriate section.

Randymarsh9
07-12-2009, 03:02 PM
sweet I finally got it to have all 7 succeed

Randymarsh9
07-12-2009, 03:45 PM
ok just a question, someone said that now if you want to use custom spells u have to use the import spells.pl to have them take effect, but how do I use that pl? I have my spells_us and I see the .pl, but I don't have any clue what to do

Zeice
07-12-2009, 04:05 PM
Just double click the import file, it should work.

Randymarsh9
07-12-2009, 04:11 PM
nah It didn't do anything. Do I need to move it somewhere or something?

Randymarsh9
07-12-2009, 04:36 PM
Do I really just double click it in the source? Does anyone know how to use that thing?

trevius
07-12-2009, 04:57 PM
If you are running Windows, double-clicking it should work as far as I know. But, in order for it to work, you have to move it to your server folder where your config file and spells file are located.

Randymarsh9
07-12-2009, 04:59 PM
i did that. it's in a folder with my eqemu_config, zone/world.exe, and my spells_us.

Randymarsh9
07-12-2009, 05:07 PM
Basically when I open it, it just goes to a blank black screen that says C:Perl/bin/perl.exe at the top then it quickly disappears without doing anything. I have a blank spells_new table in my DB already

trevius
07-12-2009, 05:21 PM
Here is a post with more info on using the import/export scripts:

http://www.eqemulator.net/forums/showpost.php?p=160509&postcount=45

Randymarsh9
07-12-2009, 05:34 PM
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\HP_Administrator>cd C:\Documents and Settings\HP_Admin
istrator\My Documents\Solo Server\Pelican's Solo

C:\Documents and Settings\HP_Administrator\My Documents\Solo Server\Pelican's So
lo>perl import_spells.pl
install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains:
C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3, <F> line 38.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: CSV, DBM, ExampleP, File, Gofer, ODBC, Oracle, Proxy, SQLite,
Sponge.
at import_spells.pl line 61

C:\Documents and Settings\HP_Administrator\My Documents\Solo Server\Pelican's So
lo>


Basically that's the error I am getting when I try to run it. It looks like someone else had that problem but it didn't really give a solution, or maybe I just don't understand it if he did