How to make a Windows .exe compatible with other OS?

Discussion in 'Programming' started by pharcyded, Jan 27, 2008.

  1. #1
    I am wondering how you make Windows .exe programs compatible for other OS's? I am particularly interested in making a program I made for windows compatible for MAC as well. Making it Linux compatible too would be cool, but not really neccessary. Any ideas of where I can learn to do this? or how to?

    :confused:
     
    pharcyded, Jan 27, 2008 IP
  2. Dolbz

    Dolbz Peon

    Messages:
    24
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    You'd have to compile it for the platform you want it to run on. This requires that you also only use library's that are available on all platforms (quite unlikely if it's a windows app).

    An alternative which may work but I'm not experienced with this is to use something like Wine on Linux. I'm not sure about Mac though.
     
    Dolbz, Jan 28, 2008 IP
  3. TwistMyArm

    TwistMyArm Peon

    Messages:
    931
    Likes Received:
    44
    Best Answers:
    0
    Trophy Points:
    0
    #3
    Yeah, if you want to be able to recompile a Windows app for non-Windows environments, you need to use a cross platform library like WxWidgets or something similar.

    Alternatively, code it in Java.

    Like Dolbz said, there's also the Wine route... you can either run the app through Wine or recompile the app with the Wine libraries to essentially make a Linux app (I believe the original versions of Picasa for Linux were done this way). Wine also exists for Mac.
     
    TwistMyArm, Jan 28, 2008 IP
  4. amsasr

    amsasr Guest

    Messages:
    2
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    It will be better if use Wine or better use WineDoors. WineDoors already configure the system Bottle and the libraries that you need to run the win application. In other hand, install Virtual Box and make a window virtual machine it will be better because Wine and WineDoors not support everything yet.
     
    amsasr, Jan 28, 2008 IP
  5. pharcyded

    pharcyded Peon

    Messages:
    720
    Likes Received:
    53
    Best Answers:
    0
    Trophy Points:
    0
    #5
    So the user should use the wine program to run my application in MAC/Linux? Is that right? My application is fairly simple, so I don't think it would be that crazy to convert over using 3rd party tools if thats the case.
     
    pharcyded, Jan 28, 2008 IP
  6. tyrithe

    tyrithe Member

    Messages:
    97
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    43
    #6
    Wine should work for running windows apps on linux, as long as we're still talking an x86 system. As for running on a Mac, if it's one of the new Macs with the Intel processors, you should be able to with little difficulty. If it's one of the slightly older PowerPC based systems, then the only way is to use a platform neutral language, such as Java, or specifically compile for each platform you want to run on.
     
    tyrithe, Jan 30, 2008 IP
  7. pharcyded

    pharcyded Peon

    Messages:
    720
    Likes Received:
    53
    Best Answers:
    0
    Trophy Points:
    0
    #7
    To compile it for MAC platforms...what does their files end in?? Ex Windows = .exe Mac = ?? Linux = ??
     
    pharcyded, Jan 30, 2008 IP
  8. sunnymonkey

    sunnymonkey Peon

    Messages:
    623
    Likes Received:
    6
    Best Answers:
    0
    Trophy Points:
    0
    #8
    RealBasic is a good development program is at lets you develop your program then export it to as many different platforms as required from the single set of code.

    http://www.realbasic.com/

    Have a lookie.
     
    sunnymonkey, Jan 30, 2008 IP
  9. pharcyded

    pharcyded Peon

    Messages:
    720
    Likes Received:
    53
    Best Answers:
    0
    Trophy Points:
    0
    #9
    Awesome software man...but $500 price tag...ouch! :eek:
     
    pharcyded, Jan 30, 2008 IP
  10. tyrithe

    tyrithe Member

    Messages:
    97
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    43
    #10
    I'm a little fuzzy on Macs, having not owned one. On Linux, however, there really isn't the concept of a file "extension" except as a user aid.

    most script programs have an "extension" which indicates their type. .sh for shell script, .py for python program, .php for PHP, etc. Most binary commands don't have any extension. Since it's based on BSD, I believe Mac OSX is the same way.

    Just to wrap my head around it a bit better, what language is this originally written in?
     
    tyrithe, Jan 30, 2008 IP
  11. pharcyded

    pharcyded Peon

    Messages:
    720
    Likes Received:
    53
    Best Answers:
    0
    Trophy Points:
    0
    #11
    I programmed it in VB 6.0 :)
     
    pharcyded, Jan 30, 2008 IP
  12. tyrithe

    tyrithe Member

    Messages:
    97
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    43
    #12
    Ouch. Other than using some variety of windows emulator on Mac, and wine on linux, or going with something like realbasic to compile it for all of the above, I'm afraid I don't have any advice to offer.

    Your only other option would be to rewrite it / have it rewritten in a language which is cross platform, such as Java or Python.

    I'm not fond of VB for that reason, because I do a lot of my work on linux or BSD.

    ETA: I am not aware of any open source or other free/inexpensive tools to do that compilation.
     
    tyrithe, Jan 30, 2008 IP