Compiling Under Wine
now3djp writes "Interesting article over on CodingStyle that demonstrates how I successfully eliminated wasted time maintaining an MS-Windows computer when I could build natively from my GNU computer! /. has followed other cross compilers in the past. This article is different because I used MS's own compiler! This allowed me to get on with real games porting; with only a proportional increase in compile time. Wine has really come a long way in supporting simple apps, let us hope it reaches a 1.0 soon."
I can't wait til we have a fully functioning windows emulator. Even if it will kill the need for native apps (read games).
I find it entertaining that when I went to read the comments, I got to see an article for Visual Studio .NET :).
--
lds
that you compile under the influence of any type of alcahol
does microsoft compile windows under wine?
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
Let me tell you something, I've compiled not only under wine, but on vodka, whiskey, shit even ACID. And when I was on acid, my monitor tried to eat me...
It's not so interesting to me that he managed to compile using VC++ under WINE. VC++ doesn't call any of the APIs you code, it just puts machine code into the file saying you can call them if you want. It's all well and good to have VC++ compile DX9_CreateSurface() (or whatever) into a bunch of PUSHs, POPs and a JMP instruction, but that doesn't help if WINE can't actually call that function when you're testing. It makes more sense to me to use Bochs or VMWare to test your application if you're developing on multiple platforms. Anything less would be short-changing your Windows clients.
GNU/Build GNU/natively GNU/on GNU/a GNU/computer GNU/using GNU/a MS-Windows/compiler GNU/without GNU/a MS-Windows/computer!
I prefer to use Beer. I find that it compiles much nicer, and it's cheaper too. =)
-------
"In times of universal deceit, telling the truth becomes a revolutionary act."
-- George Orwell
You know (shaking the finger of logic and wisdom), if they (MS) sold such a product for the GNU environment for a couple hundred bucks...I would buy it. And I know a few other developers who would to. Providing, of course, it didn't totally suck!
"Other bands play, but Manowar KILLS"
Last time I tryed to compile something under the influence of (way too much) wine, I ended up on the floor infront of my computer. All I remember was waking up to a formatted hard drive; compiling under the influence of wine sucks!
"Entropy is the bad-guy, and he is everywhere"
wine compiling cygwin compiling wine compiling cygwin compiling....
- tristan
If the people are forced to test applications on slow machines, we may not have word processors that need 40MB of ram and a 933MHZ pentium III to run.
Fight Spammers!
Wine has really come a long way to facilitate running major applications such as Visual C++. Features that "just work" often do not get mentioned because there is nothing to say. Wine has many excellent features like this. However, I have expressed the problems with Wine currently and I expect that in a potential follow up article many of these will be resolved. Wine has been in development for over a decade now. As it is finally nearing a 1.0 release, I see how much better it was than the 1.0 release of MS Windows.
Using Visual C++ on GNU/Wine gives me all the benefits of being able to develop a 100% compatible MS-Windows version of the game, while saving me the time of maintaining another Win2k machine version of the source and moving to that machine to compile. It has been a great time saver for me and I strongly expect this information will be very useful to myself and others in the future.
Okay, so you can use Visual C++ compiler under WINE. Is that terribly surprising when WINE can run MS-Office for the most part? The compiler takes the source files and libraries and produces an executable or library. I don't know for sure, but I wouldn't think that too much of this would involve heavy usage of the Win32API, much less the lesser-used and less-tested-under-WINE parts. For the most part, the compiler would be doing tokenising, parsing, translation and optimisation, which would in all likelihood use no external libraries or anything.
I don't mean to rubbish this article, I'm just saying that I don't see it as being terribly surprising. On the other hand, I think this is a great use of WINE and is definitely more innovative that anythin I would use WINE for. And as he says in the article, there was a lot of fiddling around with command line arguments and environment variables. But if you're compiling from the command-line under Windows, it's just as bad (no, really).
A much greater "victory" for WINE would be to have the whole VisualStudio ensemble running. But I'm not sure if this is feasible, especially in the short-term. By "victory" I don't mean something along the lines of "Linux now allows you to run a quality IDE", because KDevelop and Eclipse are great IDEs. Instead, VisualStudio and Office are probably the most complicated pieces of software written by MS (excluding Windows itself) and for WINE to be able to run them both as if they were running under Windows would be truly a fantastic achievement.
This sig intentionally left bla... dammit!
Who's got the whiteout?
I don't see me - just set ads.doubleclick.net to 127.0.0.1 in your hosts file. Granted thats not the only host you have to add, but there are regularly maintained lists out there of good people to block :).
I'm a programmer for a Supplier of Software to the US Government and we are actively looking to port our products to Linux do to the strong interest from our clients. Specific Offices decide what products they want to implement and how to do it. We are investigating Emulating Windows as an one solution.
I look forward to the days when any program that is Windows Compliant runs on any platform that supports the Windows API.
That being said, the real problem I have is DRIVERS for my hardware working under Linux. If someone could emulate Windows enough to use standard Windows Drivers, there would be no more reason to use Windows at all. I truly commend those braves souls and companies who write drivers for Linux.
Now if there was a Proxy that accepted Microsoft SQL requests and sent them to a PostgreSQL backend transparently we would be free of the beast and save the Tax Payers lots of money paying my paycheck, plus blow our competiters out of the water. :o)
Wow! So RMS wants us to simply call it GNU now? Dropping the Linux part altogether? Sorta hypocritical to me ;).
Or do you run Hurd? Which is technically the GNU OS.
The above is meant to be funny.
Slashdot is a waste of time. I enjoy wasting time.
...a no nasty headaches from the sulfides.
Try Maryland Wines, esp Bordy
and Beer, esp Oliver Ale !
"Whoever would overthrow the liberty of a nation must begin by subduing the freeness of speech."--Benjamin Franklin
Does this guy really use the HURD, or is it just that he's an RMS mega-fan?
The author describes the problem he originally solves as being the pain of moving code between Linux and Windows, losing attributes, case problems, etc. The approach I take is to keep all code in CVS on my file server. I do compiling and editing on my personal computer; both Linux and Windows can handle CVS. This way you have to reboot into Windows for the Windows compile, but never have to worry about copying files or case changes.
Can someone help me as to just why he needs to move his source back and forth between computers. I mean, I like that he's consolidated to one machine and all, but couldn't he just use a samba share or something to save the (apparently complicated) step of moving the source code from one machine to another. What's the real advantage here? (Real question, not a flame)
Put identity in the browser.
I use Microchip's pic assemler through wine, for a small piece of code I maintain that runs on a PIC that wasn't supported by any GNU/Linux assembler when I started. I also maintain a legacy version of a very specific proprietary MSDOS (actually we run DRDOS) program that was written with Borland C, hopefully I will be replacing the last running bit of that with a DJGPP compiled version soon, which of course can be cross compiled on GNU/Linux without the need for Wine and bcw.
I know what your thinking, but when a piece of software has worked flawlessly (well almost!) for 15 or so years, and is 'mission critical' it is very hard to drop a platform and move on. I am hoping to try out a move to Linux some day in the near future so that I can take advantage of new features and things that just arent available for DOS. But unless I can convince everyone else of the benefits I may be supporting dos for quite some time (I am the only software person at this company).
I'm curious, what exactly will the "milestone" of version 1.0 of Wine actually mean ? I would doubt that it'll ever be 100% compatible with Windows 98/XP. So what feature list is the development team trying to complete before calling it 1.0 ?
I think that pretty much any other product would have been deemed a failure if it had endured a 10 year development life and not reached version 1.0. Unless of course we're talking about Duke Nukem Forever...
My experience of Wine is common to most people's I think; it looks like a great idea, but as soon as you try to run any non-trivial program, it simply locks up/doesn't work. I've looked at their website and looked at all the "passed" indicators on their test cases. That doesn't help me run my apps much though... do they need more test cases ? Are they simply too abstract ??
Just my $0.02 worth
Never, ever lose a file again. Ever.
Visual C++ doesn't do anything weird regarding Windows API. The IDE is a normal affair, and the compiler could be run without a user interface. It's really not testing Wine to it's limitations and the irony of situation is barely worth commenting on. This is non-news, the only thing this article achieves is to make Slashdot look like the anti-MS geeks with limited social awareness. Some things just aren't worth giggling at.
I don't even need to look at the poster to know that this is the work of micheal...
That's quite different from Winelib, which is indeed a separate implementation of Win32 that may "lack" some Windows bugs.
Use the Intel compilers, your code will be 50-300% faster.
50-300%? You're nuts. I've used both, and performance definitely varies...and if I had to choose one or the other as "generally producing faster code", I'd probably point at gcc.
Take a look at these benchmarks.
Gcc produces fastest code on 26 of the tests, icc on 9.
Furthermore, not all the optimization flags for gcc were being used (no idea why -fexpensive-optimizations wasn't used).
May we never see th
dont you have to install windows under vmware? ive always been under the impression that thats how it works. vritual machine, not os emululator
and uses the preview right
can turn to a troll
when the typos roll
and the bottle is empty and light
Next you will have some moron compiling under vmware or bochs or plex86. If you don't care about the abstraction or the 60% degradation in performance, and the fact that you have to rewrite all your make files to use vc++ nmake, this is for you. Its a convoluted mess IMHO. Using cross gcc for win32 on linux is a much cleaner way of doing this.
usercontent.css
,u bleclick'],d vertis'],a nner/'] {
i dth="468"][height="60"] {i dth="728"][height="90"] {
*[src*='ads.'],
*[src*='/ad/']
*[src*='/ads/'],
*[src*='/Ads/'],
*[src*='do
*[src*='us.a1.yimg.com'],
*[src*='a
img[src^='http://images.slashdot.org/b
display: none !important;
}
You can add whatever else you want there as well. Things like
/* this hides the usual 468x60 Flash banner ads */
embed[type="application/x-shockwave-flash"][w
display: none !important;
visibility: hidden !important;
}
/* this hides the not so usual but very annoying 728x90 Flash banner ads */
embed[type="application/x-shockwave-flash"][w
display: none !important;
visibility: hidden !important;
}
If you wanna get rich, you know that payback is a bitch
and went straight for the LSD.
And they *warned* you the brown acid was bad.
KFG
Of course all my code runs right the first time. I was thinking of everybody elses code.
Fight Spammers!
What the fsck is "GNU/WINE"! Aaargh! It's one thing to give RMS some credit, but this reeks of puerile toadying in an effort to look sophisticated in front of other juvenile sycophants.
Repeat after me, "WINE is not a GNU project!"
A Government Is a Body of People, Usually Notably Ungoverned
that needs 128MB of RAM and a 3ghz Itanium just to load in under 5 minutes is Bad Thing?
Damn, back to my ed clone I guess. I think I can get that to run under your specs if I leave out the SETI@home easter egg.
KFG
Oh please. Yeah, let's all cower in fear of Microsoft. Let's stop what we're doing because Microsoft might not like it. Let's always worry about being sued.
It might be a very real possibility, but it's one you should never worry about, just be aware of. It's as bad as terrorism, it only works if the target becomes terrified.
The Texas Instruments Code Composer Studio for the TMS 6701 DSP is only available for windows. For this project everything else is compiled for Linux-386 as well as embedded Linux-PPC.
Running the command line tools under wine works fine, and now I am able to have one intel linux box compile all the DSP and PPC firmware as well as the Linux GUI code in a cron job from the daily cvs snapshots.
Doing this has made things SO much nicer. I would prefer if TI had a linux version of their DSP compiler, and will continue to pester them for one, but in the meantime WINE saves the day and allows me to NOT run windows for weeks on end!
My Win2000 anti-uptime is around 3 weeks now. I am weaning myself off windows!
Running command line tools like compilers is one of the EASIEST things for WINE to do - All they have to do is read and write files and allocate memory.
Biggest hassle for me: having to make special sed scripts to deal with mixed case file names in the auto-generated makefile dependency list that are incorrect since the compiler assumes case insensitive filesystems.
--jeff++
ipv6 is my vpn
If My application is not talking directly to the hardware, then coming across VMware specific behaviour is no different to coming across VIA specific issues, or Penitum IV specific issues, etc...
Advanced users are users too!
I did it shometaimes and man it worksh great !
It's MAGIC.
He keeps talking about this GNU OS thingy. Does Wine run on the Hurd already?
i prefer to compile under rum
*hic*
or, kill 'em ALL off, with the addendum to HOSTS at...
http://www.smartin-designs.com/
( ads, tracker-sleazers, etc, all of 'em, and it speeds-up one's browsing, too. )
Messages to/for me ( in me journal )
I paid for lots of operating systems too. I have 2 versions of OS/2, 2 versions of DOS, windows 95 and 98, 3 copies of NT 4.0 and a copy of 3.51 and a copy of w2k that I got stuck with because it didn't work and I had to refund the client's money. Microsoft would not refund what I paid them. Microsoft would not allow me to either return or exchange the unopened copies of Windows NT 4.0 either. I was a Microsoft dealer at the time and bought a 3 pack - which was about a month before w2k was announced. So I got stuck... then stuck again with w2k.
I have only one computer that runs windows NT so only one of these operating systems is in use.
I have red hat linux 6.1 server edition, OpenBSD 3.0 and Mandrake 8.1. I paid for all these too even though they are free.
Now, my desktop runs Debian and it is just great and I did a net install. Guess what, I don't know how to upgrade that RH 6.1 machine. Sure I can reformat the hard drive - but it contains a LOT of my work and I don't want to lose it. With Debian, an upgrade is easy.
In addition to this I bought 2 copies of Brief and I can't use it even though it is my favorite editor. I did a trial d/l of CRiSP and it is a wonderful editor, fully Brief compatible. I contacted them about licencing. I run 8 machines in my home and am a member of the local Unix users group and do consulting work. The CRiSP people told me I would need a "Licence Manager"! I decided to learn Emacs. It has a CRiSP mode and is looking better every day.
I bought 3 versions of M$ FTN and copies of M$ C as well. The last version of M$ FTN was such a botch that I could not use it. I have the Borland OS/2 C/C++ compiler. It was so broken I didn't use it.... but I paid for it. I have Borland C++ professional builder 4. I want to do C/C++ cross platform development.
I phoned Borland. I think they told me that I can buy Delphi for Linux. I think they told me that the language is supported on both platforms but that the API is different. The person on the other end of the phone didn't seem too knowledgable. So I am going into wxWIndows or gtk because these people actually SAY they are cross platform. Thus, I do not have any C++ builder code and didn't get my money's worth.
I have 4 versions of Oracle - paid for by the taxpayer (because I am one of their developers). The DOS versions were so bad we couldn't use them on that platform. The OS/2 versions were better but still not good enouf. It is not possible to install 8i for red hat 6.1 (even though that is the version oracle says 8I is for) unless you CAN STAND ON YOUR HEAD and read the paper What you need to knwo before you even THINK of installing oracle 8i . Imagine having to backdate the glibC and install an old version of Java from blackstrap just so you can get the installer to work. Why couldn't Oracle have put their developers into a room with 2 cd sets. One set - an off the shelf shrink wrapped copy of Red Hat 6.1, and the other set - a copy of the 8i source tree. And then make sure they don't have INTERNET access so they can't cheat and create a version that you can't install. Leave them there until they solve the problem or rot to death trying!!! Damit. I have lost MONTHS of my life solving other people's problems.
Guess what, I am porting the client's apps over to PostgreSQL. See ya Oracle!!! Goodbye!
So, of all the software I bought most of it did the job for a precious short time or didn't do the job at all - with the exception of Brief - which was just excellent. And what happened to Brief? Borland bought the rights, put it on the shelf and AFAIK I can't buy it any more.
So frankly I really don't care if that copy of VB ++ was paid for. Even if it wasn't, I do not feel M$ was ripped off . I feel I was ripped off.
I have been ripped off Over and Over and Over because I bought these products in good faith and paid for them with my hard earned money. Now I can't use them. Some never did what they were advertised to do. Others were discontinued and I lost out.
Let me tell you about the 2nd last copy of M$ FTN that I purchased. I found a bug where the conpiler just eliminated an "IF" statement. No errors, no warnings, and no machine instructions either. I filed a bug report with M$ with sample code. Months went by. I re-filed the bug. Months went by. Finally I phoned them and sat on wait for like an hour - and paid for this too. The rep told me the bug was fixed in the new version. So I bought it.
When the new version arrived I tried out the sample code from the bug report. The problem was still there. Oh, and the last version I bought couldn't be used it was so bad. The client dropped PC development ideas and switched to SUN.
What the Open Source movment has done is a refreshing breath of fresh air and IMHO it is the ONLY way that the programmers of the future are going to stand any chance of avoiding the endentured servant trap that closed source software creates. Anyone questioning this should realise that in order to use closed source software they have to agree to the licence terms and these are arbitrary and non-negotiable. If you find the terms unacceptable then you can't be a programmer. That is unless you can find the tools and the infrastructure you need elsewhere.
Well, we programmers are being attacked another way now.... patent law. If this gets too well established we won't be allowed to be independant. We'll have to work for a big company that has managed to negotiate cross licensing. Either that or pay the piper each time we want to go to the can.
Water flows down hill and the infrasructure required to build some of the closed source tools, like Windows NT/2K/XP, or Oracle or JAVA or say a compiler suite like Visual C++ or Borland Professional Builder is so great that it looks like an ocean. Oceans are hard to move. Oceans are also hard to re-create. There is no way that any company could recreate from scratch an operating system like XP. The environment that XP grew out of no longer exists. IBM tried and failed.
Over the years all computer companies with the exception of perhaps IBM,HP,M$ have failed. Who here thinks Microsoft will survive into the year 2050? Gates won't be in charge then. Who here thinks that another company is going to loom up that can invest the BILLIONS in infrastructure required to create an alternative?
The future of software has to be opensource because that is the only way for us programmers to ensure that we will have the tools we need and the right to use them.
If I add up the THOUSANDS I have spent on software over the years it illustrates to me that I should have been looking for better solutions a long time ago.
The U.S. Government already blows its competitors out of the water.
Seems like there have been some reports that Microsoft Windows is more stable under VMWare than on the bare metal. It does make sense that the virtualized system as presented by VMWare is more regular and less messy than the bare metal.
Yes, but. The bugs taken individually won't show up. It's when they get together (and breed or something) that you get troubles.
Thanks for letting us know that you can't install Oracle 8i on Redhat 6.1.
But how do you debug? You're going to require a Windows box to test/debug the excecutable on anyway...
This is funny
This article got me thinking about the application of emulating a GNU/Linux compiler, like cc, under the windows XP OS. The cigwin project is advanced enough for that I think. It would open a whole world to windows developers who thought about porting to linux. This way you don't need to maintain a complicated GNU/Linux computer.
This is not a troll or flamebait, just suggesting the best tool for the best job.
BSD, Linux, OS X, & Solaris folks should read and blog at *nix.org
Please write to John Mayer and Nora Jones and advise them to lay off the ciggies for a bit.
I think if you are serious about cross platform development, you need to have a native install of all the platforms you intent to port to. Either multi-boot or seperate boxes. Why? Well amy emulator, WINE espically but even VMWare, has certian quirks and differences that native hardware does not. You need to test it as it will be run to be sure. Also, if you are using any advanced 3d function, the emulators are going to fall flat on their faces.
If I were really serious about a commercial cross platform release, say Windows and Linux I think I would want a ton of testing. I'd probably want at least 3 different systems, all tht had a copy of Windows 98, ME, 2k, and XP plus at least 3 big Linux distros. While in theory something complied for any hardware under any verison of Windows should work on any other, it's just not the case. Same for Linux. You want to test for the little "gotchas" if you want to make sure you have a really stable software.
Proving that OS/2's Win16 capability was no trojan horse, because W95 was exactly the same in that regard.
I'm trying to reproduce a bug right now that does not occur in VMWare. This bug relates to thread creation/destruction, and it's very timing dependent. Because of VMWare's slow task switching mecanism, the bug never occurs when running on VMWare - but always occurs on a normal machine.
-- Virtual Windows Project
When Dosemu reached 1.0, usage of DOS had become very low. So let us hope for a Wine 1.0 soon:)
Now this is impressive. Things like this are what WINE should be all about. Amazing.
I disagree, it's depressing not impressive:
In summary, while the article probably accurately describes the author's actions, there is nothing in his account that others should be emulating. More experienced developers should be consulted in the search for best practices.
I write this as someone who has done software development for almost 20 years; more than 20 if you count my high school years as a computer hobbiest.
I use squid on my machine with the sleezeball filter system, so that *all* my browsers are taken care of when I add a filter.
May we never see th
That looks like a pretty fundamental point, deserves higher score and visibility .....
Maybe it's not offtopic, but still wrong because this thread is about VMWare, not Wine.
Furthermore, the point of the article is that this guy is now using Wine to do some real work, not that Wine has acheived some level of technical excellence that's meant to be impressive to YOU. There is one tiny blurb about how Wine has progressed.
Does anyone know for how long Wine has been able to run vc++, and what was required to get it working?
How bout you reimplement windows from the ground up before you start trolling about it.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Next time try to read the comment you are replying to.
What's the point of compiling win apps and linux apps on the same machine?
I develop windows apps for a living (hey...it's a living). Even in our 99% windows environment, I don't build _everything_ on my machine. We have an automated build environment. It's very simple to launch a little client app to trigger a build on a different machine. All of the source is checked out of source control, and then built. I wrote the "remote build" app myself so it was tailored to our companies use, but I would guess there are commercial/free utilities out there. If not, it ain't that hard to write a windows service that reads a file and executes command lines written in that file (which is what our remote build app does).
If you're going to have to have native windows machines to test on anyway, why not just set up an environment where you can build your windows apps on a windows machine while still sitting at your linux machine?
On the one hand, I think what was done was neat (sometimes just showing it can be done is worth while), but on the other hand, it doesn't sound like the most efficient way of doing things.
OTOH some people actually reverse engineered the NES (using an oscilloscope and disassembler) and wrote working games on it, but then they still had to show their game to Nintendo to get permission to continue developing.
The safest bet is to not have your job depend on tweaking the last little bit of performance out of a customer's machine when you have only a vague idea of which platform they might be running on. Either improve your algorithms in the whole, or hide the slow performing code in a place where the user won't notice. (if possible)
That said, another option is to isolate the performance-critical sections into chunks of code which get optimized separately and then have cpu-detection code choose the appropriate chunk at runtime. The debian atlas packages do something like this, though (AFAIR) they use hand-optimized assembly instead of just using compiler flags and/or different compilers. (and yes, you can have both the sse- and 3dnow-optimized packages installed on the same machine, and the code will load the appropriate shared library at runtime)
Then, instead of standardizing on a compiler, you'll need to standardize on a build system that will let you compile the code as you need it compiled.
I doubt that profiling would reveal that.
Fight Spammers!
Or,
Compile under VMWare, or
Still compile under Wine, or
Dual boot the computer.
Perhaps you should replace "Win3.x" with "MS-DOS". As I recall, Win3.x apps worked horribly under Windows '95, due to programmer's shortcuts that Windows '95 won't allow. DOS programs, however, often work better under Windows 95 then they do under Windows 3.x.
OH NOES!!! IT APPEARS YUO DO NOT HAVE ENOUGH MONEY TO PAY FOR DIS HERE PIZZA! WAHT EVER ARE YOU GOING TO DO!?!?
The author first asserts that the process of moving files between the systems causes the upper/lower caseness of the filenames to be munged
This is the case, I've run into this problem myself many times and it has little to do with how the files are saved and much to do with how fs-drivers are implemented and configured. Compare to how you often end up with read-only files if you copy them from a CD in Linux. Sure you can change some settings, but then often get other side-effects in other situations (goes for both). I believe he is the original author of his project.
The author displays no knowledge of the network mounting of filesystems using SAMBA (CIFS) or NFS.
The fact that he is dual-booting strongly suggests that he (like most of us) only has one development machine, not a complete network of machines. Don't get ignorant just because you are better equipped.
Why isn't the source code checked into a configuration management tool, like CVS?
Once again, he only has one workstation, thus is CVS out of the question since it needs to be hosted under one of the OSes and he can only run one at once. Besides, CVS is in most cases just unnecessary and complicates and slows stuff down if you are the single developer. You can make backups through normal file copying.
As others have already noted elsewhere, he will still have to test on the target platform.
Which I'm sure he does now and then too (by dual booting). However, if you just need to do some minor change in platform independent code it's really a bliss to not need to dual-boot.
Besides, your criticism of using VMWare for testing is quite irrelevant. It's true you need to test on multiple environments to know that it works on them all, but as you said, VMWare with Windows X *IS* one of these environments. If he's dual booting he only has access to one environment anyway, using VMWare as well will add one or more extra testing environments.
I would have LOVED to have a similar setup as his when I was developing BladeEnc. Like him I only had one development machine (couldn't afford more) and constantly needed to dual-boot in order to recompile and package a new version. The platform dependent parts of BladeEnc were very limited and untouched for 95% of the development, thus this setup + testing under wine (for possible quality degradation due to compiler excentricities) would have been more than enough during most of my days. Only performance tweaking would have to be done in windows environment.
With your 20+ years as software developer you obviously have found your way of working in your projects and with your budget. Don't knock others creative solutions for solving their problems with their resources in a totally different situation.
This is very big news. Microsoft's compiler CL.EXE makes many non-obvious Win32 API calls before it gets down to business. These calls were not implemented immediately because they are used by very few programs. Even after the calls were implemented, CL.EXE would routinely crash (as of maybe October or November 2002). If the Microsoft compiler now runs on Wine, we have achieved a major step forward.
-Hope
You should be able to use the cc front end that comes with UWIN as a front end for MSVC that you are running with WINE. This will allow you to use UNIX Makefiles to compile using MSCV. It also
will allow you do use UNIX style file names
and compile options.
I haven't tried compiling the cc front end to MSVC on UNIX/Linux, but you should be able to compile it using MSVC and run it under WINE.
The source code is part of the UWIN development package which you can download from http://www.research.att.com/sw/tools/uwin/.
Then you go on to say, "only thing this article achieves is to make Slashdot look like the anti-MS geeks with limited social awareness".
What the fuck? This article had nothing to do with MS bashing, it was about doing windows development on Linux! Again, what the fuck? Then you go on to insult Michael... for no apparent reason.
You're just trolling, stop it.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
I am sorry when was that? i never even saw OS/2 on any desktop computer!!!
OS/2 was never a desktop OS and never had a marketshare there. It came bundled with ps/2s' and that's all it ever got.
What really killed OS/2 is that you couldn't get it for free.
i've been around computers for 1 1/2 decades, and i NEVER saw anything open loosing against anything closed. I could get a windows 95 cd anytime but i couldn't find an OS/2 cd before warp.
Washington bullets will simply be known as the "Bulle
Tord covered most of the things wrong with the parent but missed something about the testing.
If you read the article (I know who would do that...)
> Therefore, I can build the game from one
> machine, then I only have to copy the final
> chaos.exe to my MS-Windows machine to test.
He is not doing his testing with Wine!
My solution is much simpler. I use rdesktop to log into a terminal server, then mount my workarea from my Linux box (running Samba) and do the compile that way. In fact the other day I was forced to mount the CYGWIN tools from another machine, so that the only thing coming from the Windows server was VC++ itself. It was a little slow, but I usually test the Windows version last, so that cuts down on the iterations.
crath,
You seem to have missed the point of my article. Tord also picked up on this in his reply to your msg.
Basically I set out to save my time, the novel solution that I came up with used tools freely available and did not distract me too much from developing the video game port. Please re-read my motivations section, this is exactly what I set out to do.
You mention SAMBA, NFS and CVS. Well I use these there great technologies every day. I my use of CVS was clearly visible from the end of the article where I mention the new Wine CVS version I tested (did you get that far?). Also, this was never intended to be a "how to copy files over the network" article. You mention I will still have to test, yes that is what I chose to do. Saves giving all those games testers compilers they will never need to use now! I never mentioned VMWare, and I do not intend to test with it. For my purpose it is not relevant, I achieved all I set out to. (build from one machine, avoid wasting time etc)
Some people mentioned the possibility of using the entire msdev.exe IDE. Unfortunately this does not run with current CVS Wine, a few more dlls are required to even get it just to load. However, it crashes when build is selected.
I have received lots of positive feedback, and if you are reading this considering this as an option for your self or company then I would definitely recommend you try it. Most of the Wine problems have been corrected since this article was released. They should be in the CVS version over the next few days I expect. Credit to the Wine team.
Cheers
J. Grant
Yeah, except for the fact that the post I was replying to specifically was talking about the differences between Winelib and real Windows (under something such as VMware).
So actually, it had direct relevance to the parent post as well as direct relevance to the topic at hand.
This message on the other hand, has absolutely nothing to do with the topic, but I wanted to thank the anonymous coward for coming to my defense, and point out that you and whoever moderated the message offtopic were the ones who apparently can't read.
I am posting this with karma bonus turned off so that it doesn't make it's way to the top of the discusson needlessly. Maybe I should just stop posting to Slashdot altogether. I held out for years believing, but apparently there's just as many morons who read Slashdot as there are in the real world. Quite a sad picture for a site that should be for the geekiest of geeks.
Actually. I agree with your statement about free software. You are the one who didn't apply my statement to free software as well as proprietary. I, on the other hand, am fair and applied it to everybody.
No one should get sued because they included a one liner from a a GPL program. And so far, the cases have been ones where there was a clear usage of a serious portion of code. I don't think the FSF intends to go after every little person, nor do I think it would be beneficial to their cause.
I do however think that gross violators of the GPL should be prosecuted, and likewise I feel that gross violators of any real (upholdable by law) license terms should be prosecuted. It rarely does any good to sweat the small stuff.
Whether you realize it or not, your argument that we should all be afraid of including even a snippet of GPL code is a classic FUD tactic because it attempts to make people afraid of working with GPL software.
:-)
In all seriousness, every group uses scare tactics. Some are more prevalent than others. For instance, terrorism is by definition all about scare tactics. The mob also uses scare tactics. And in this case, we're talking about large corporations using scare tactics.
Scare tactics are nothing new. It's helpful to recognize where scare tactics are used so that you do not fall victim to them. For instance, we live in this supposedly "sue happy" country. In reality the "sue happy USA" is a scare tactic used by those with money and power to make those without submit to their wishes. By modifying your behavior to avoid doing things which are not illegal, but which somebody might not like, you are inviting that somebody to run your life.
Fortunately, it is still possible in this country that once you understand the above, you rise above it and then you become the person with money and power. What you choose to do with it is then entirely up to you.
Calm down, nutjob.
I didn't say it's a non-achievement, I just said that I thought it wasn't newsworthy. Maybe I was wrong to say that MSVCPP doesn't use strange API, but still I believe that there is nothing particularly spectacular about the program. I really feel that this sort of thing is only posted on Slashdot because of the Microsoft connection. It's not like the editors don't have a reputation for being sad zealots.
Clearly there are two schools of thought on the matter, shown by the people who have replied to my post in anger, and the people who have modded it up. If you can't handle an opinion without having to swear (and indicating your accent by dropping the G off the end of "fucking" makes you seem oh-so-more dangerous on the Internet!) and call names like a pathetic moron, then just don't bother. I appreciate the other replies I had, but yours was just laughable.
Just to know, ICC has been known to optimize code for AMD processors quite nicely.
/usr/include/linux stuff.
An application should compile nicely anywhere, for example, Apache. You name it, gcc, icc, forte - it compiles.
Also, applications should be developed against a standard c library/headers. None of this winsock or strange SYSVisms or
GCC (with some interesting non-standard extensions) and non standard platforms like RedHat makes for difficult porting. Bad discipline and non-standardness is what created a place in the world for the giant, titanic Java. It had gotten to the point where it was easier to port a VM to here or there than to simply compile the application somewhere else. We all know speed suffers for the abstraction which is of questionable value.
So, which compiler should be targeted? Which CPU? Well, unless the compiler is broken or the CPU has severe errata, all of them.
Premature optimization is the root of all evil, so making the first order of business deciding which compiler, platform and CPU the program is for is just that. Why do you think Knuth gives examples in a mythical assembly language for a mythical processor? (Partly due to the fact that it was mythical in a superior sense at the time he came up with it, but also to point out that proper algorithmic implementation and proper programming are architecture independent.)
Legalize the constitution. Think for yourself question authority.
Very good show ;-). I still maintain 3 boxes at home (windows, linux, and mac), but maybe now I can get that down to 2! I rarely want to develop a windows program, but when I do, I always have to boot up Windows on my second Linux box, and create and compile my program, and then boot back into Linux, test my program in WINE, etc. This will hopefully save me a step ;-).
Very popular slashdot journal for adul