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

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

Reply
 
Thread Tools Display Modes
  #1  
Old 05-09-2011, 03:16 AM
cerbere
Fire Beetle
 
Join Date: May 2011
Posts: 9
Default error compiling in PlayerCorpse.cpp

greetings,
I dig around trying to see if someone had a similar problem but failed on it so first post here.
I'm very new too this so if I need to post more information please let me know.

Code:
gcc -c -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wno-deprecated  -Wcomment -Wcast-align -O -g -march=i686 -pthread -pipe -D_GNU_SOURCE -DINVERSEXY -DFX -DZONE -DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DFIELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386 -DEMBPERL -DEMBPERL_PLUGIN -DHAS_UNION_SEMUN -I/usr/include/mysql  -DBIG_JOINS=1  -fno-strict-aliasing   -DUNIV_LINUX -DUNIV_LINUX  -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/perl/5.10/CORE  PlayerCorpse.cpp -o PlayerCorpse.o
PlayerCorpse.cpp: In constructor âCorpse::Corpse(Client*, sint32)â:
PlayerCorpse.cpp:349: warning: suggest parentheses around â&&â within â||â
PlayerCorpse.cpp:409: error: no matching function for call to âZoneDatabase::SaveCursor(int32, iter_queue, iter_queue)â
../common/shareddb.h:48: note: candidates are: bool SharedDatabase::SaveCursor(int32, std::_List_const_iterator<ItemInst*>&, std::_List_const_iterator<ItemInst*>&)
PlayerCorpse.cpp: In member function âvoid Corpse::LootItem(Client*, const EQApplicationPacket*)â:
PlayerCorpse.cpp:1145: warning: comparison between signed and unsigned integer expressions
make[1]: *** [PlayerCorpse.o] Error 1
make[1]: Leaving directory `/home/lotso/eqemulator/projecteqemu/zone'
make: *** [all] Error 2
Reply With Quote
  #2  
Old 05-09-2011, 07:21 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

Hmm, I don't have a Linux machine to compile on at the moment, but looking at the code those types seem correct and it should match that function call. It does compile correctly with Visual Studio on Windows.

Did you clean before compiling? You might try changing the code in PlayerCorpse.cpp at line 406 to something like this and see if it throws a more useful error about the conversion, but it should just work.

Code:
if(cursor) {
    std::list<ItemInst*>::const_iterator s=client->GetInv().cursor_begin(), e=client->GetInv().cursor_end();
    database.SaveCursor(client->CharacterID(), 
         s, 
         e);
}

Last edited by lerxst2112; 05-09-2011 at 07:22 AM.. Reason: formatting
Reply With Quote
  #3  
Old 05-09-2011, 08:17 AM
cerbere
Fire Beetle
 
Join Date: May 2011
Posts: 9
Default

ok it compiles without the previous error now, thanks
Reply With Quote
  #4  
Old 05-09-2011, 02:00 PM
WIGGMPk
Fire Beetle
 
Join Date: Apr 2011
Posts: 8
Default

I had the same issue with PlayerCorpse.cpp as Cerbere did and the changes lerxst2112 mention fixed that part.

However I am stuck on another issue, dont mean to hijack this thread..

Code:
QuestParserCollection.cpp:194: error: ‘class QuestInterface’ has no member named ‘LoadScript’
QuestParserCollection.cpp:205: error: ‘class QuestInterface’ has no member named ‘LoadDefaultScript’
QuestParserCollection.cpp: In member function ‘QuestStatus QuestParserCollection::LoadPlayerQuest(std::string)’:
QuestParserCollection.cpp:222: error: ‘class QuestInterface’ has no member named ‘LoadPlayerScript’
QuestParserCollection.cpp:233: error: ‘class QuestInterface’ has no member named ‘LoadDefaultPlayerScript’
QuestParserCollection.cpp: In member function ‘QuestStatus QuestParserCollection::LoadItemQuest(std::string)’:
QuestParserCollection.cpp:250: error: ‘class QuestInterface’ has no member named ‘LoadItemScript’
QuestParserCollection.cpp:261: error: ‘class QuestInterface’ has no member named ‘LoadDefaultItemScript’
QuestParserCollection.cpp: In member function ‘QuestStatus QuestParserCollection::LoadSpellQuest(uint32_t)’:
QuestParserCollection.cpp:278: error: ‘class QuestInterface’ has no member named ‘LoadSpellScript’
QuestParserCollection.cpp:289: error: ‘class QuestInterface’ has no member named ‘LoadDefaultSpellScript’
QuestParserCollection.cpp: In member function ‘bool QuestParserCollection::HaveScriptFunction(const char*, uint32_t, const char*)’:
QuestParserCollection.cpp:303: warning: enumeration value ‘Unloaded’ not handled in switch
QuestParserCollection.cpp:303: warning: enumeration value ‘FailedToLoad’ not handled in switch
QuestParserCollection.cpp: In member function ‘bool QuestParserCollection::HavePlayerScriptFunction(const char*, const char*)’:
QuestParserCollection.cpp:316: warning: enumeration value ‘Unloaded’ not handled in switch
QuestParserCollection.cpp:316: warning: enumeration value ‘FailedToLoad’ not handled in switch
QuestParserCollection.cpp: In member function ‘bool QuestParserCollection::HaveItemScriptFunction(QuestEventID, ItemInst*, const char*)’:
QuestParserCollection.cpp:338: warning: enumeration value ‘Unloaded’ not handled in switch
QuestParserCollection.cpp:338: warning: enumeration value ‘FailedToLoad’ not handled in switch
QuestParserCollection.cpp: In member function ‘bool QuestParserCollection::HaveSpellScriptFunction(uint32_t, const char*)’:
QuestParserCollection.cpp:353: warning: enumeration value ‘Unloaded’ not handled in switch
QuestParserCollection.cpp:353: warning: enumeration value ‘FailedToLoad’ not handled in switch
make[1]: *** [QuestParserCollection.o] Error 1
make[1]: Leaving directory `/home/wiggmpk/Software/EQEmuServer/zone'
make: *** [all] Error 2
Reply With Quote
  #5  
Old 05-10-2011, 12:38 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Goto the makefile.common and take out the questinterface.o stuff it's not yet needed to compile but I didn't want to lose it so i committed it. (sorry!)

I'm putting through a fix for the playercorpse error atm.
Reply With Quote
  #6  
Old 05-10-2011, 01:33 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

Honestly, the PlayerCorpse.cpp error didn't make sense to me, but I'm sure somewhere in a dark corner of the C++ standard there's an annoying reason for it and someone that could drone on for hours to explain and justify it.

Reminds me of the old days trying to write code that worked on Windows, XBox, PS2, and Gamecube. That was a set of compilers that could never agree on anything.
Reply With Quote
Reply


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 02:52 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3