The sad fact is, making a 64-bit EXE of anything but a very simple program run correctly is
hard. Not because it's hard to compile such a program (it's just a bunch of flags in the compiler/IDE), or hard to keep your code free of 32-bitness assumptions (that's just a matter of the correct style guide, which you should have anyway, like "don't use
int if you need a 32-bit integer value; use
int32_t"). The problem is that almost any bigger program requires the use of external libraries, and
those aren't all 64-bit ready yet, or may have bugs in their 64-bit versions, and (on Windows, at least) you almost never have the source code to those libraries available to fix their problems yourself.
Open source programs using open source libraries have it way easier - my Linux server has been running 100% 64-bit since three years.