Well a VM really is the only way to do it without cross compiling. So your choices are pretty much every scripting language, Java, and Microsoft's CLR. But then you toss in the mess of platform non-specific toolkits, so you might as well just use something like Qt and a good set of cross compilation tools.
PNaCl: Portable Native Client Executables Google's Native Client technology uses software fault isolation (SFI) to enable the execution of untrusted native code inside a web browser, giving web applications greater access to the performance of the client machine while avoiding the security problems with current infrastructure for plugins. While the operating-system neutrality of Native Client tends to encourage good practices with respect to ISA portability, the burden of building, testing and deploying a program on all supported hardware platforms---currently IA-32, ARM and x86-64---lies with the developer. This arrangement makes it too easy for the developer to fail to support one or more ISAs, and tends to create a barrier for future new ISAs, threatening the portability promise of the Web. This document describes the design of PNaCl (pronounced "pinnacle"), a suite of tools for building, testing, and distributing Native Client programs in an instruction-set neutral format. PNaCl uses the Low-Level Virtual Machine (LLVM) bitcode format to represent ISA neutral portable executables compiled from code written in a variety of languages including C and C++. The PNaCl design allows some flexibility in deciding where translation to native machine code occurs. By supporting client-side translation to the client's native instruction set, PNaCl reduces the burden on the developer, enabling support of new instruction sets without recompilation from the source. As PNaCl is layered cleanly on top of current ISA-specific NaCl implementations, the small trusted code base, source language neutrality, and safety properties of the system are preserved. PNaCl, which will be open-sourced, is still at an early stage of development; we welcome feedback and suggestions on how its design might be improved.