Problem:LNK2019: unresolved external symbol __ftol2
Description: While building project in Series60_v21 with VS.net 2003, I got the error when execute emulator build. Building process as below:
Bldmake bldfiles is OK
Abld build wins udeb error occurs in this building step
Explore: This problem is the SDK’s bug, it occurs when there is a explicit transfer from a float to an int,like below:
TInt inta = (TInt)(3.0);
Solution:
Find cl_win.pm in EPOC32/Tools, searching the line contain “/W4”, and then changing its content as below:
Before Changing:
&main::Output(
"CLFLAGS =",
" /nologo", # suppress "sign-on" banner message
" /Zp4", # packs structures on 4 byte boundaries
" /GF" # Pools strings and places them in read-only memory
);
After Changing:
&main::Output(
"CLFLAGS =",
" /nologo", # suppress "sign-on" banner message
" /Zp4", # packs structures on 4 byte boundaries
" /GF", # Pools strings and places them in read-only memory
" /QIfist"
);
Reference: http://www3.symbian.com/faq.nsf/0/30398B3E9500A24D80256C7F00693A91?OpenDocument