PDA

View Full Version : 0.5.0 Compiling Issues


tyrbo
11-02-2003, 11:58 AM
[tyrbo@elite world]$ make
mkdir -p .obj
gcc -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wcomment -Wcast-align -Winline -Wno-deprecated -g -march=i686 -O -pthread -pipe -DFX -D_GNU_SOURCE -DINVERSEXY -DWORLD -DDEBUG=5 -DSHAREMEM -DCATCH_CRASH -DNO_PIDLOG -DFIELD_ITEMS -I/usr/include/mysql -I/usr/mysql/include -c ../common/Item.cpp -o .obj/Item.o
../common/Item.cpp: In member function `void
ItemContainerInst::PutItem(unsigned char, const ItemInst&)':
../common/Item.cpp:325: warning: comparison is always false due to limited
range of data type
../common/Item.cpp: In member function `virtual std::string
ItemInst::Serialize(short int) const':
../common/Item.cpp:784: error: integer constant is too large for "long" type
../common/Item.cpp:784: warning: comparison is always true due to limited range
of data type
make: *** [.obj/Item.o] Error 1
[tyrbo@elite world]$


Any suggestions?

flyrken
11-03-2003, 12:51 PM
Hrmm...
What distro are you running? Did you update the code to CVS DR5?
Any idea about your compiler version? I will try to "replicate" on my SuSE distro I just bought :)


EOF

Doodman
11-04-2003, 12:39 AM
You must be on GCC 3.3.

The constant that it is complaining about is 0xFFFFFFFFCCCCCCCC which is obviously too large for a 32-bit int.

One of the windows developers was having a crash problem when a variable (according to vs.net) was that value. Which is not possible. We're looking in to how to make both side happy. Until then try setting it to 0xCCCCCCCC as I think that is how GCC < 3.3 is truncating it.