Slashdot Mirror


Linux for Win32 Development?

A nameless member from Clan Anonymous Coward asks: "I've been considering installing Linux as the primary system on my laptop, but I question how suitable it is for Win32 development. I use Delphi as my primary development environment, and have considered running WinNT under VMWare (or possibly Delphi under Wine). What experiences have you had with developing Win32 apps under Linux, using Win32-based tools?" This is a neat thought. Has anyone had any success with this?

1 of 16 comments (clear)

  1. Dual "Cross" configuration by mrossbrown · · Score: 4

    I have a fairly simple machine, PII 333 with two 4gig harddrives. I have it dual booted with Linux (Redhat 6.0) and NT 4.0 with LILO being the bootloader.

    Here's the interesting part: when I boot under NT I can use VMWare to get at the raw Linux partition, and when I boot under Linux I can use VMWare to get to the raw NT partition. Each OS has a specific configuration depending on whether it's a guest or host (using Hardware Profiles under NT and VMWare's dualconf under Linux).

    Then it starts getting complex with host-only networking under VMWare for each environment. I actually have 5 different IPs for my one machine:

    192.168.0.2: Native (host) NT or native Linux
    192.168.101.1: VMNet Bridge
    192.168.101.2: NT host/Linux host
    192.168.101.3: Linux guest
    192.168.101.4: NT guest

    So while I have NT as a host, I can use samba to send files to Linux and then test them out. As far as development goes on NT, I have Visual Studio 6.0, Borland's free compiler, and Cygnus's cygwin (with mingw32 built under cygwin). I also have cross tools under cygwin that target Linux and MSDOS (djgpp).

    When I use Linux as a host (99.5% of the time), again I can use samba to send executables to the NT guest and try them out *immediately* after compilation. This is a plus for libraries such as SDL, etc. I use pgcc-2.95.2 targetted to mingw32, cygwin (for the hell of it), ms-dos, and Sony PlayStation.

    The main reason I use this setup is for hardware/processor feasibility, I have a TNT2 Ultra that isn't supported in any way under VMWare, therefore booting NT means I get 3DSMax, etc. that takes full advantatge of my hardware. Also, I have an ISA card that talks to my PlayStation, and the majority of dev-tools (with the major exception of psxdev) for the PSX are Win32 only (VMWare can't handle non-standard hardware).

    How I set this up:

    Install NT on the second harddrive

    Configure all drivers, etc. for NT (might want to wait for this step to make creating Hardware Profiles easier)

    Install Linux on the first harddrive w/ LILO

    Setup VMWare on Linux to talk to NT as a guest (using raw disk partitions)

    Boot *NATIVELY* into NT and copy your existing profile into a new Hardware Profile (System Control Panel)

    Disable any devices in your new profile (call it "Virtual Machine") that VMWare doesn't support (Devices Control Panel)

    At this point if you want you can setup VMWare for NT to access Linux as a raw partition

    Boot into Linux and test your NT under VMWare, if some drivers fail, disable them under the Devices Control Panel

    If you installed VMWare for NT, tweak your Linux dualconf configuration (I had to manually add a condition for switching the links to the X server)

    Setup Host-only networking, samba, etc.

    I know I didn't go into any detail, I don't have the time to write everything out and I'm not at my machine so I might have missed something. I'll post a couple articles at my site, etc. when I have some time (this weekend?).

    Marcus