Slashdot Mirror


Xmingwin For Cross Generation Applications

An anonymous reader writes "Xmingwin makes it practical to generate Windows programs from a Linux server. This column gives a recipe for setting up Xmingwin, outlines the most important reasons for doing so and shows you how to generate executables for multiple platforms -- including Windows DLLs -- from a single Linux source."

13 of 108 comments (clear)

  1. ohhh maaaan by nocomment · · Score: 5, Insightful

    I've been trying to migrate people _away_ from windows, this only makes it easier for them to stay ;-)

    Of course it also help linux break into places it wasn't allowed before, so i've got to say bravo for that!
    Still, should be running BSD ;-p

    --
    /* oops I accidentally made a comment, sorry */
    /* http://allyourbasearebelongto.us */
  2. Testing ? by MosesJones · · Score: 4, Interesting


    Winner of Company Most likely to produce Buggy Software....

    The people who do this. You can produce work on the Server but to properly test you still need the windows environment. So you have to deploy to that, given that you need a testing environment per developer as well as for UAT and QA then your costs aren't really reduced. The advantages in terms of compile speed are killed in terms of transfer and deployment.

    Somebody somewhere clearly things they need this, somebody somewhere doesn't work in large teams and on commercial apps.

    Sorry to dis someones work, but I'd be more interested in a decent Open Source windows IDE on windows than being able to do a fraction of the work on Linux... and I loathe MS-Windows. Why do so many Open Source projects have to ape MS rather than take on the beast.

    Too many people, too many projects. Come and save us IBM.

    --
    An Eye for an Eye will make the whole world blind - Gandhi
    1. Re:Testing ? by catscan2000 · · Score: 5, Informative

      If you're looking to replace Visual Studio for programs that don't rely too much on the COM wizards and such, try out Dev-C++. It's pretty fast, too, and it uses GCC :-).

  3. Xmingwin? by gwernol · · Score: 5, Insightful

    This sounds like intriguing functionality, but really can't they find a better name than Xmingwin? Its a horrible name, practically unpronounceable, difficult to remember and spell, easy to confuse with other similar projects.

    I know this might sound like a troll but I'm serious about this. Projects do themselves no favors by adopting badly thought out names. A confusing name makes it less likely that I will use or evangelize this software. When someone asks me for a recommendation for a software platform for generating Windows executables on our Linux servers I'll be embarassed to say Xmingwin (I work in a corporate environment). Its hard to say, hard for someone to understand when said and worse it sounds amateurish. Its almost as bad as Ogg Vorbis: very geek-cool to use Klingon but the kiss of death in a serious corporate environment.

    This isn't a slam on open source - god knows there are too many dumb names in the closed source world - but a plea for developers to think about naming. Its an important part of getting your technology talked about and accepted.

    --
    Sailing over the event horizon
    1. Re:Xmingwin? by josh+crawley · · Score: 3, Insightful

      I pronounce it like X-ming win. like ex-Penguin (with the p soundling like M)

  4. Xmingwin vs gcc-mingw32 by ---- · · Score: 3, Interesting
    What's the difference between this announcement and the pre-existing mingw32 integration with gcc ?
    • lets see, we have ...
    • The mingw-runtime package
      The Public Domain versions of the MSVCRT header and library import files
      Beginning with version 2.0 C89 and C99 extensions are provided that include
      but not limited to, wide character functions, floating point environment
      functions (declared in fenv.h), floating point classification functions and
      macros, the inttypes.h format conversion macros, stubs for msvcrt.dll
      underscored functions that are now part of C99 standard, and a replacement for
      fseek and fwrite that are safer on W9x. The POSIX dirent functions have been
      moved from libmingw.a to libmingwex.a so those desiring 'Minimal' can easily
      have it. The ISO C extensions are visible by default within the headers, to
      remove them define __NO_ISOCEXT. You need to explicitly add these functions
      until they are eventually added to the GCC specs file for inclusion by default.
    • The gcc-mingw32 package
      Mingw32 support headers and libraries for GCC
    How exactly is this different? We've been able to produce win32 executables using mingw and gcc for years now.
    1. Re:Xmingwin vs gcc-mingw32 by DivineHawk · · Score: 3, Interesting
      The same here as well. I've had no problems using the cross compiler here: http://www.libsdl.org/extras/win32/cross/

      for quite some time now.

      (Link referenced by http://www.mingw.org/mingwfaq.shtml#faq-cross )

    2. Re:Xmingwin vs gcc-mingw32 by vrmlguy · · Score: 3, Informative

      The difference is that this is running mingwin as a cross-compiler. Yes, we've been able to produce win32 executables using mingw and gcc for years now, but that's by running everything on a Windows-based system. Now we can run the same suite of tools on a Unix-based system.

      --
      Nothing for 6-digit uids?
  5. Quick Note by jchawk · · Score: 3, Informative

    For those of you wondering, this only works for apps that you are currently writing. It isn't going to work for just any windows app, but it's still kinda neat.

    ---

    If you just signed up for a new sprint pcs cell phone I can get you a $10 rebate. Email me at jchawk@ my website (tr0n.com) that's a zero in tr0n.

  6. We've had this for years by Stiletto · · Score: 4, Informative


    I've been using a MINGW32-based linux->win32 cross-development environment for years. The same concepts apply as for cross-compiling to different hardware architectures. This is definitely not new software. With properly written makefiles, you can build to target both Linux and Win32 platforms from the same source tree and build environment. Of course you must test on both platforms, but having a setup like this definitely makes it easier to build large projects for both Windows and Linux.

  7. Re:Usually... by grolim13 · · Score: 4, Informative
    No, you're misunderstanding how this works. Cross-compilers have been around for ages, this one just happens to have the advantage that it inherently portable (because it is based on GCC) and targets Windows (which is phenomonally popular).

    Wine works by reimplementing a part of the Windows API. Mingw32 is a compiler which takes C/C++ programs and Windows libraries and generates Windows executables. Its C/C++ support is just about flawless as it uses GCC; it can link programs against native Windows libraries just like any Windows compiler would; and it produces ordinary Windows executables.

    These Windows executables, however, won't run natively on the (Linux) host machine.

    Note that this is also not an automated system for writing portable programs; Xmingwin won't compile anything that wouldn't compile on a normal Windows machine. But if you have code that is portable, you can save a lot of hassle by having just one machine to build binaries for several platforms.

  8. They're just following the Geek Rule by dark-nl · · Score: 4, Funny

    Every cool project should have a FAQ entry explaining its name. If the name is too easy, or has an obvious pronunciation, then it can't be a cool project. Ideally, there should be long-standing flamewars about it (i.e. is it "vee-eye" or "veye"?).

  9. Re:Surely a security risk by Twirlip+of+the+Mists · · Score: 3, Informative
    I'm on a crusade. I intend to post a comment like this one whenever I see anybody use "virii." Please don't interpret this comment as either endorsement of or disagreement with the parent post. Moderators: with your help, we can wipe out "virii" in our lifetime!

    The plural of "virus" isn't "virii." There is no such word. The plural of "virus" is "viruses."

    Here's a good explanation from cdknow.com, quoted here in its entirety because the people who most need to read this won't click on a link.

    The correct English plural of virus is viruses. Please consult any good dictionary before making up words.

    For the purists, in Latin, there is a rarely-used plural form:

    virus, viri (neuter)

    (Forms: almost always restricted to nominative and accusative singular; generally singular in Lucretius, ablative singular in Lucretius)

    The point of this is that even in Latin the form "viri" is rarely used. The singular form is used in most every instance. (This is from the Oxford Latin Dictionary.)

    So, when considering the Latin: "virii" is incorrect and "viri" was almost never used.

    Despite the fact there was little use for the plural form, there is another reason why "viri" was rarely used. The most common Latin word for "man" is "vir" with "viri" being its plural in the form used as the subject of a sentence. Thus, since "men" as the subject of a sentence would be used far more often than "venoms" (virus means venom) the "viri" word was most commonly seen as the plural of "man."

    Bottom line: Don't try to make up words using a false Latin plural form. Since the word virus in its English form is now used then the English plural (viruses) should be used.

    More plural-of-virus resources:

    perl.com, the canonical and exhaustive source
    The alt.comp.virus FAQ
    Jonathan de Boyne Pollard's Frequently Given Answer
    Merriam-Webster's "Word for the Wise," January 20, 2000.

    --

    I write in my journal