EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=588)
-   -   Compile Error (https://www.eqemulator.org/forums/showthread.php?t=39381)

vsab 02-17-2015 08:22 AM

Compile Error
 
(moved from dev)

gcc 4.8.2 - latest code. Recently it looks like I have a ton more warnings than I did before regarding logging, but it bums out here:-

Code:

/home/vsab/eqemu/zone/spawngroup.cpp: In member function ‘uint32 SpawnGroup::GetNPCType()’:
/home/vsab/eqemu/zone/spawngroup.cpp:54:80: error: cast from ‘SpawnGroup*’ to ‘uint32 {aka unsigned int}’ loses precision [-fpermissive]
  Log.Out(Logs::General, Logs::None, "SpawnGroup[%08x]::GetNPCType()", (uint32) this);
                                                                                ^
make[2]: *** [zone/CMakeFiles/zone.dir/spawngroup.cpp.o] Error 1
make[1]: *** [zone/CMakeFiles/zone.dir/all] Error 2
make: *** [all] Error 2

Any ideas how I can get it to compile?

jdoran 02-17-2015 12:25 PM

There is a %p escape useful for printing pointers. Pointers do not always fit in 32-bit integers.

vsab 02-17-2015 05:44 PM

Nice, using %p and removing the cast fixed the compile (casting in uint64 worked too....), haven't seen the actual output yet....

Code:

  Log.Out(Logs::General, Logs::None, "SpawnGroup[%p]::GetNPCType()", this);


All times are GMT -4. The time now is 04:18 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.