because of a warning saying that cross compiling does not work very well in the 64 bits version.
Now I installed the 64 bits version and everything works fine.
I don't know exactly which warning you saw. And I don't know how fpcupdeluxe builds the cross compiler for "generating 32 bit exe from a 64bit IDE"....
Background
(afaik):
64bit on Windows does not have an 80bit extended float type. This limit is enforced by Windows itself (i.e. the Hardware could do it, under Linux it should work, but on Windows it is not supported).
That means, if the compiler pre-computes (at compile time, rather than generating code to do it at runtime) something like
extended(1/7)*extended(1/11)
then the result may differ by a tiny tiny fraction.
Most of the cases that does not matter. But on principal it could.
Just to be clear, that is only what the compiler pre-computes (compile time constant evaluation). If the generate 32 bit exe does that calculation at runtime, it will use the full 80bit extended float. Never mind if the compiler was a native 32bit or a 64bit cross compiler.
For that reason (not sure if there are more, but afaik that is it):
- Fpc does not release such a cross compiler
- FpcUpDeluxe: I don't know....
- The Lazarus add-on to cross-compile to a 32bit target: It is actually a native 32bit compiler in disguise
So if you use that addon, then you should not have that issue at all. But the add-on only comes for the released version.
With FpcUpDeluxe you could build 2 native compilers. A native 64bit, and a native 32bit. Then in the IDE you use, instead switching the Target between 64/32 bit, you would need to change the compiler. (Mind that may need a bit of knowledge in how FpcUpDeluxe installs them).
You can also have FpcUpDeluxe build you the 32bit compiler (and IDE) and a 64 bit cross compiler, and then afterwards recompile the IDE to 64 bit yourself. The 64bit IDE can still use the 32bit compiler and the cross-to-64-bit compiler.
If you don't use extended float, then it does not matter.
If you do, then it depends on how much you rely on precomputed constants being exact to the full 80 bits.
That is, if FpcUpDeluxe actually builds a 64bit cross-to-32-bit compiler. I don't know that.