Also I'm trying to use Debian Linux as my main compiler as it appears dependant on MRPT Dev Headers along with GCC-4.8 and CodeLite with Cross GCC i686-w64-mingw32 for making Win32 Builds. It appears the cbase.h timer.h and extdll.h are giving me errors from on both on GCC Shell and CodeLite with similar problems:-
Code:
root@debian:/home/ryan/Dropbox/src/halflifeadmin/s-line/dlls/adminmod# make
if [ ! -d objMM ]; then mkdir objMM; fi
make am_metamod MM=mm SQL=no OPT=dbg
make[1]: Entering directory '/home/ryan/Dropbox/src/halflifeadmin/s-line/dlls/adminmod'
if [ ! -d objMM ]; then mkdir objMM; fi
rm -f objMM/version.o
g++-4.8 -w -include apsymbols.h -march=i686 -fomit-frame-pointer -fexpensive-optimizations -fpermissive -Dstricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -Dstrcmpi=strcasecmp -DLINUX -DVERSION=\"2.50.61\" -DBETA=\"alpha1\" -Wall -g -ggdb -fno-thread-jumps -fno-defer-pop -fno-delayed-branch -fno-omit-frame-pointer -fkeep-static-consts -DTZONE=\"\" -DMOD_VERSION=\"2.50.61\ \(MM\)\" -DOPT_TYPE=\"debugging\" -DUSE_METAMOD -fPIC -I. -I../amxdll -I../../tools/amxconvert -I../../commonlib/include -I/home/ryan/Dropbox/src/metamod-p-37/metamod -I/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/engine -I/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/common -I/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/pm_shared -I/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls -I/home/ryan/Dropbox/src/metamod-p-37/metamod -I/home/ryan/Dropbox/src/metamod-p-37/singleplayer/common -I/home/ryan/Dropbox/src/metamod-p-37/singleplayer/engine -I/home/ryan/Dropbox/src/metamod-p-37/singleplayer/dlls -I/home/ryan/Dropbox/src/metamod-p-37/singleplayer/pm_shared -I/home/ryan/Dropbox/src/metamod-p-37 -o objMM/dll.o -c dll.cpp
In file included from extdll.h:194:0,
from dll.cpp:46:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:328:2: error: ‘EOFFSET’ does not name a type
EOFFSET eoffset( ) { return OFFSET( pev ); };
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘virtual int CBaseEntity::BloodColor()’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:170:43: error: ‘DONT_BLEED’ was not declared in this scope
virtual int BloodColor( void ) { return DONT_BLEED; }
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘virtual int CBaseEntity::GetToggleState()’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:175:47: error: ‘TS_AT_TOP’ was not declared in this scope
virtual int GetToggleState( void ) { return TS_AT_TOP; }
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘virtual int CBaseEntity::IsMoving()’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:182:58: error: ‘g_vecZero’ was not declared in this scope
virtual int IsMoving( void ) { return pev->velocity != g_vecZero; }
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘virtual BOOL CBaseEntity::HasTarget(string_t)’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:194:81: error: ‘STRING’ was not declared in this scope
virtual BOOL HasTarget( string_t targetname ) { return FStrEq(STRING(targetname), STRING(pev->targetname) ); }
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:194:108: error: ‘FStrEq’ was not declared in this scope
virtual BOOL HasTarget( string_t targetname ) { return FStrEq(STRING(targetname), STRING(pev->targetname) ); }
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In static member function ‘static void* CBaseEntity::operator new(size_t, entvars_t*)’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:222:42: error: ‘ENT’ was not declared in this scope
return (void *)ALLOC_PRIVATE(ENT(newpev), stAllocateBlock);
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In static member function ‘static CBaseEntity* CBaseEntity::Instance(edict_t*)’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:257:16: error: ‘ENT’ was not declared in this scope
pent = ENT(0);
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In static member function ‘static CBaseEntity* CBaseEntity::Instance(entvars_t*)’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:262:85: error: ‘ENT’ was not declared in this scope
static CBaseEntity *Instance( entvars_t *instpev ) { return Instance( ENT( instpev ) ); }
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In static member function ‘static CBaseEntity* CBaseEntity::Instance(int)’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:263:86: error: ‘ENT’ was not declared in this scope
static CBaseEntity *Instance( int inst_eoffset) { return Instance( ENT( inst_eoffset) ); }
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘edict_t* CBaseEntity::edict()’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:327:37: error: ‘ENT’ was not declared in this scope
edict_t *edict() { return ENT( pev ); };
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘int CBaseEntity::entindex()’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:329:47: error: ‘ENTINDEX’ was not declared in this scope
int entindex( ) { return ENTINDEX( edict() ); };
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘virtual int CBaseEntity::Illumination()’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:336:64: error: ‘ENT’ was not declared in this scope
virtual int Illumination( ) { return GETENTITYILLUM( ENT( pev ) ); };
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: At global scope:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:507:2: error: ‘TOGGLE_STATE’ does not name a type
TOGGLE_STATE m_toggle_state;
^
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h: In member function ‘virtual int CBaseToggle::GetToggleState()’:
/home/ryan/Dropbox/src/hlsdk-2.3-p4/multiplayer/dlls/cbase.h:534:47: error: ‘m_toggle_state’ was not declared in this scope
virtual int GetToggleState( void ) { return m_toggle_state; }
^
In file included from extdll.h:242:0,
from dll.cpp:46:
timer.h: In member function ‘virtual int CTimer::BloodColor()’:
timer.h:88:36: error: ‘DONT_BLEED’ was not declared in this scope
int BloodColor( void ) { return DONT_BLEED; }
^
timer.h: In member function ‘virtual int CTimer::GetToggleState()’:
timer.h:93:41: error: ‘TS_AT_TOP’ was not declared in this scope
int GetToggleState( void ) { return TS_AT_TOP; }
^
timer.h: In member function ‘virtual int CTimer::IsMoving()’:
timer.h:100:52: error: ‘g_vecZero’ was not declared in this scope
int IsMoving( void ) { return pev->velocity != g_vecZero; }
^
In file included from dll.cpp:46:0:
extdll.h: In function ‘BOOL IsPlayerValid(CBaseEntity*)’:
extdll.h:458:48: error: ‘FNullEnt’ was not declared in this scope
return ( (pPlayer) && (!FNullEnt(pPlayer->pev)) && (GETPLAYERUSERID(pPlayer->edict()) > 0) && (!FStrEq(STRING(pPlayer->pev->netname),"")) ) ? TRUE : FALSE;
^
extdll.h:458:134: error: ‘STRING’ was not declared in this scope
return ( (pPlayer) && (!FNullEnt(pPlayer->pev)) && (GETPLAYERUSERID(pPlayer->edict()) > 0) && (!FStrEq(STRING(pPlayer->pev->netname),"")) ) ? TRUE : FALSE;
^
extdll.h:458:138: error: ‘FStrEq’ was not declared in this scope
return ( (pPlayer) && (!FNullEnt(pPlayer->pev)) && (GETPLAYERUSERID(pPlayer->edict()) > 0) && (!FStrEq(STRING(pPlayer->pev->netname),"")) ) ? TRUE : FALSE;
^
extdll.h: In function ‘BOOL IsPlayerValid(edict_t*)’:
extdll.h:465:43: error: ‘FNullEnt’ was not declared in this scope
return ( (pPlayer) && (!FNullEnt(pPlayer)) && (GETPLAYERUSERID(pPlayer) > 0) && (!FStrEq(STRING(pPlayer->v.netname),"")) ) ? TRUE : FALSE;
^
extdll.h:465:117: error: ‘STRING’ was not declared in this scope
return ( (pPlayer) && (!FNullEnt(pPlayer)) && (GETPLAYERUSERID(pPlayer) > 0) && (!FStrEq(STRING(pPlayer->v.netname),"")) ) ? TRUE : FALSE;
^
extdll.h:465:121: error: ‘FStrEq’ was not declared in this scope
return ( (pPlayer) && (!FNullEnt(pPlayer)) && (GETPLAYERUSERID(pPlayer) > 0) && (!FStrEq(STRING(pPlayer->v.netname),"")) ) ? TRUE : FALSE;
^
In file included from /home/ryan/Dropbox/src/metamod-p-37/metamod/meta_api.h:45:0,
from dll.cpp:50:
/home/ryan/Dropbox/src/metamod-p-37/metamod/mutil.h: At global scope:
/home/ryan/Dropbox/src/metamod-p-37/metamod/mutil.h:65:43: error: ‘hudtextparms_t’ has not been declared
void (*pfnCenterSayParms) (plid_t plid, hudtextparms_t tparms,
^
/home/ryan/Dropbox/src/metamod-p-37/metamod/mutil.h:67:45: error: ‘hudtextparms_t’ has not been declared
void (*pfnCenterSayVarargs) (plid_t plid, hudtextparms_t tparms,
^
dll.cpp: In function ‘int Meta_Query(char*, plugin_info_t**, mutil_funcs_t*)’:
dll.cpp:309:40: error: ‘FStrEq’ was not declared in this scope
if(!FStrEq(ifvers, Plugin_info.ifvers)) {
^
Makefile:489: recipe for target 'objMM/dll.o' failed
make[1]: *** [objMM/dll.o] Error 1
make[1]: Leaving directory '/home/ryan/Dropbox/src/halflifeadmin/s-line/dlls/adminmod'
Makefile:175: recipe for target 'metamod' failed
make: *** [metamod] Error 2
root@debian:/home/ryan/Dropbox/src/halflifeadmin/s-line/dlls/adminmod#
I did remember Warhead said to uncomment util_player_kill in admin_commands.cpp to fix the kill command. I've fixed the export_h on:
Code:
#ifndef USE_METAMOD
mod_struct_type mod_struct[] = {
Due to the old HL1 mods have been renamed for SteamPipe Linux .so files with _i386.so prefixes removed and so on.
Also I'm using Metamod-P37 from hullu's Metamod-P SF site and HLSDK 2.3-p4 from metamod.org. I don't know if some variables could be commented out for the latest SDK and Src codes. Does anyone have any clues or tips from this GCC error?