Pages: 1 2
Author Topic: Cross Compiling  (153,407 Views)
Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #15 Posted on: July 08, 2013, 11:05:51 PM
Sorry; for some reason, I missed your question.

That package installs fine here, though I am on 13.04. Make sure you're on a 64-bit system, and have Universe enabled as a package source.

If you find a different cross-compiler package, that's fine, as long as the binary names are the same or you update them in the configuration file (Compilers/Linux/MinGW*.ey).
Offline (Unknown gender) intygamer

Member
Joined: Mar 2013
Posts: 77
View profile
Reply #16 Posted on: July 12, 2013, 12:25:38 AM
Thanks Josh

I take it regardless of the Mingw64 package that any of these wont run on 32bit machine even in 32bit mode? 

Thanks
Joe



Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #17 Posted on: July 12, 2013, 01:15:42 AM
MinGW64 should offer an -m32 flag like the rest of the GNU compilers. But you'll need the 32-bit libraries, and I'm not sure if they're included. Obtaining 32-bit native libraries is a chore; obtaining cross-compiler libraries is a huge chore; I can't imagine obtaining the 32-bit cross-compiler libraries. Good luck. ;)
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #18 Posted on: July 12, 2013, 03:16:14 AM
JoshDreamland, we will eventually work this out the correct way wont we? I mean is that not kind of the point of ENIGMA, build games and they run anywhere? :P
Offline (Unknown gender) intygamer

Member
Joined: Mar 2013
Posts: 77
View profile
Reply #19 Posted on: July 12, 2013, 03:22:18 AM
Thanks Josh

I will wait till I get my 64bit machine, see if Santa will hook me up.  lol

Thanks for your help.
Joe

Offline (Unknown gender) Josh @ Dreamland

Prince of all Goldfish
Developer
Joined: Feb 2008
Posts: 2,950
View profile
Reply #20 Posted on: July 14, 2013, 12:03:11 AM
If your current machine is 32-bit, then any version of MinGW64 will come with all the correct settings and libraries to build for 32-bit. You should be all set.

Robert: My plan for ENIGMA is "build anywhere, run wherever you build." The best I intend to offer is a distribution mechanism which builds your game for each platform, for you.
Offline (Unknown gender) Goombert

Developer
Joined: Jan 2013
Posts: 2,991
View profile
Reply #21 Posted on: July 14, 2013, 07:44:10 AM
Ok Josh, but if a dinkhole like Greg can make this cross compiler, I mean, yah :P
Offline (Unknown gender) gra

Member
Joined: Feb 2013
Posts: 147
View profile
Reply #22 Posted on: May 16, 2014, 08:13:43 PM
cross compiling news
i have found error in cross compilation, i solved in this mode:
install dependencies
sudo apt-get install mingw-w64-i686-dev g++-mingw-w64-i686 wine
download windows patch and copy only the folder ENIGMAsystem in enigma dev
now rename folder in
/enigma-dev/ENIGMAsystem/Additional/Windows
in
/enigma-dev/ENIGMAsystem/Additional/i686-w64-mingw32
ald lets go to compile the windows executable
Offline (Unknown gender) sorlok_reaves

Contributor
Joined: Dec 2013
Posts: 260
View profile
Reply #23 Posted on: August 22, 2014, 05:25:48 AM
With a bit of hacking, I was able to get Mingw-w64 cross-compiling Windows binaries on Linux. Et voila:

OpenAL seems to be working just fine; the only issue I ran into is that mp3 support is disabled (and mp3s crash the game). I'll be looking into this; I think I just compiled OpenAL with the wrong feature set. But WAVs work just fine, so I'm pretty optimistic.

Unfortunately, a lot of "mingw-lib" packages are missing from Ubuntu, so I had to locally install them myself. This is kind of a pain for the average developer ---I only did it because mingw-32bit on Windows can't actually compile Iji (it's too big).
Offline (Unknown gender) time-killer-games
Guest


Email
Reply #24 Posted on: August 22, 2014, 06:59:54 PM
This is great! GameMaker: Studio beat us to it though. While they may say the contrary on the YoYoGames System Requirements page ...
Quote
Computer running Ubuntu required for export
~ https://www.yoyogames.com/studio/system-requirements

You can technically compile just dandy without a single computer running linux. Trying to "compile" may throw an error saying "Can't connect to Ubuntu" but the files are still outputed anyways and they worked just fine after I sent them to my virtual machine. Since they've done a pretty spotless job at maintaining their Ubuntu export there's really no difference between that and a Windows export in terms of how your games should run. Unless you happen to really like Linux, you don't really need one to compile for it without worry concerning bug complaints.
Offline (Unknown gender) sorlok_reaves

Contributor
Joined: Dec 2013
Posts: 260
View profile
Reply #25 Posted on: August 23, 2014, 02:38:24 AM
Yeah, it's not really my intention to compete with YYG. :P This is just because I can't actually compile Iji on Windows (it's too big), so cross-compiling's the only option.

Ok, I wrote a wiki page detailing how I did it:
http://enigma-dev.org/docs/Wiki/CrossCompileWithAudio

I'm still trying to figure out why mp3 won't work; WAVs work fine, so that's very confusing to me. If anyone figures it out, please let me know.
Offline (Unknown gender) TheExDeus

Developer
Joined: Apr 2008
Posts: 1,860
View profile
Reply #26 Posted on: August 24, 2014, 06:59:06 PM
I think trying to compile with mingw64 on windows would also be a solution, but you would probably have to hit the thing with many rocks to make it work. I can't specifically remember the reason why mingw64 didn't work with ENIGMA on windows.
Offline (Unknown gender) sorlok_reaves

Contributor
Joined: Dec 2013
Posts: 260
View profile
Reply #27 Posted on: August 24, 2014, 09:47:49 PM
Quote from: TheExDeus on August 24, 2014, 06:59:06 PM
I think trying to compile with mingw64 on windows would also be a solution, but you would probably have to hit the thing with many rocks to make it work. I can't specifically remember the reason why mingw64 didn't work with ENIGMA on windows.

That would probably work, but I'm not too experienced with MinGW on Windows, much less its 64-bit woes. Cross-compiling is easier and faster, anyway, but thanks for the advice.
Pages: 1 2