I managed to cross-compile my code from my Ubuntu desktop to run on my GameShell using the standard gcc cross-compiler (ubuntu package: gcc-arm-linux-gnueabihf). More details here.
That is very nice. For the dependencies did you copy the libraries from the gameshell image? My concern is how to have the same libraries with the same compilation options from the gameshell in the desktop, where gcc for arm can find them.
Speed. Compile the code in a desktop / laptop machine is going to be always faster than in the allwinner ARM processor.
Easy development. If you have the same version of libraries in both architectures, you can easily develop and test in the desktop one, and iterate over it. Later you can transfer the code and test in the machine itself. Doing that in the gameshell via SSH will always be slower.
You’ll have to install the armhf version of the library on your desktop as well as one your Gameshell for this to work. In my case, I have very little dependencies so it’s fairly simple to do