Thanks, Bleh, adding those files worked.
I ended up with two more errors, but I somehow managed to fix them myself, as they were similar to the previous ones.
The first one was this:
Code:
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wno-deprecated -Wcomment -Wcast-align -O2 -ggdb -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE -DEQDEBUG=5 -DNO_PIDLOG -DSHAREMEM -DSPELL_EFFECT_SPAM -DFIELD_ITEMS `mysql_config --cflags` ../common/EQPacket.cpp -o ../common/EQPacket.o
../common/misc.h: In member function `void EQPacket::DumpRaw(FILE*) const':
../common/misc.h:34: error: too many arguments to function `void
dump_message_column(unsigned char*, long unsigned int,
std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
../common/EQPacket.cpp:125: error: at this point in file
make: *** [../common/EQPacket.o] Error 1
The call to dump_message_column is indeed being passed too many variables in EQPacket.o:
Code:
void EQPacket::DumpRaw(FILE *to) const
{
DumpRawHeader();
if (pBuffer && size)
dump_message_column(pBuffer, size, " ", to);
fprintf(to, "\n");
}
dump_message_column's prototype (in misc.h):
Code:
void dump_message_column(unsigned char *buffer, unsigned long length, string leader);
It looked to me as if "to" was erronously added as a fourth parameter, so I took that out and it worked.
The second was:
Code:
../common/EQPacket.o(.text+0x10fa): In function `EQProtocolPacket::ValidateCRC(unsigned char const*, int, unsigned)':
../common/EQPacket.cpp:307: undefined reference to `CRC16(unsigned char const*, int, int)'
collect2: ld returned 1 exit status
make: *** [zone] Error 1
Which was easily fixed by adding CRC16.o to the makefile.
However, I ran into another error trying to run world:
Quote:
(Wed 21 Sep 2005 01:25:01 PM MST)-(root@meerkat)-(/usr/local/bin/EQEmu/server)
# ./world
[Status] Using database 'eqemu' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.6.0-DR3
[Status] Loading opcodes..
[Error] LoadEMuShareMemDLL::Load() failed to attach a function. Error=0
[Error] Loading opcodes failed. I cant live like this!
|
I've added the location of the folder that holds libEMuShareMem.so into my /etc/ld.so.conf file, and run ldconfig, as per
Muuss's guide.
I can't figure out why it would be trying to load a DLL when I'm running this on Linux...
Quote:
Originally Posted by johane
Note that not knowing this kind of stuff suggests you are a bit out of your depth, and a course or decent book on C++ might be a good idea. There's some decent stuff in the LDP (Programming HOWTO for example )to read if you are very bright.
|
You're right, I am quite a bit in over my head here.
I am looking into some books, though. (Judging from reviews,
C++ Primer Plus looks good...)