With GCC/G++ 4.0: the usual problems that occur when sizeof(pointer) > sizeof(int). GCC 4 will not accept pointer conversions that lose precision. It will throw an error, not a warning.
../tankgraph/GLWTankTip.cpp: In member function ‘virtual void TankUndoMenu::itemSelected(GLWSelectorEntry*, int)’:
../tankgraph/GLWTankTip.cpp:71: error: cast from ‘void*’ to ‘unsigned int’ loses precision
../tankgraph/GLWTankTip.cpp: In member function ‘virtual void TankBatteryTip::itemSelected(GLWSelectorEntry*, int)’:
../tankgraph/GLWTankTip.cpp:226: error: cast from ‘void*’ to ‘int’ loses precision
make: *** [GLWTankTip.o] Error 1
Using GCC/G++ 3.2, we get farther, but the compile barfs here:
../common/snprintf.c: In function `vasprintf':
../common/snprintf.c:842: incompatible types in assignment
../common/snprintf.c:850: incompatible types in assignment
make: *** [snprintf.o] Error 1
…then the snprintf problem goes away. Now it’s on to the next error, another AMD64 pointer conversion.
../dialogs/HelpButtonDialog.cpp: In member function ‘virtual void HelpButtonDialog::VolumeMenu::menuSelection(const char*, int, GLMenuItem&)’:
../dialogs/HelpButtonDialog.cpp:130: error: cast from ‘void*’ to ‘int’ loses precision
make: Entering directory `/home/russ/cvs/scorched/src/scorched'
make: *** No rule to make target `../landscape/LandscapeDefinition.cpp', needed by `LandscapeDefinition.o'. Stop.
make: Leaving directory `/home/russ/cvs/scorched/src/scorched'
Apparently, this file has been moved into src/landscapedef, but the Makefile hasn’t been updated to reflect this.
I ran the commands, I get the same error I reported in the other thread. and if I fix the error manually, scorched 39.1 WILL compile okay. Nowever, after the successful compile, I get the second error I reported when I try to run it.