Why aren't there more Linux ports of Windows applications?

Started by
31 comments, last by Peon 20 years, 6 months ago
quote:Original post by clum
I had several problems converting my "cross-platform" SDL game into Linux. Most of them were related to incompatibilities in the compilers. Try the following code in MSVC:

In MSVC 6 (at least the version I have), it came up with some error about redefinition of ''i''. I can''t tell you the exact error because I''m not in Windows now. In g++, it compiled fine. But if you remove the second int, it works find in MSVC, while g++ says:
g++ error.cc
error.cc: In function `int main()'':
error.cc:3: error: name lookup of `i'' changed for new ISO `for'' scoping
error.cc:2: error: using obsolete binding at `i''

That''s with the following output from g++ --version:
g++ (GCC) 3.3 20030226 (prerelease) (SuSE Linux)

And for non-games, its even harder. Have you ever made a GUI in C for Windows or XWindows? No matter how much design you put into it, its not fun. And Java is just plain ugly.



That was a stupid bug in VC++ 6.0. It should be updated, so download some of the service packs. In any case it doesn''t exist in VS.NET.
-YoshiXGXCX ''99
Advertisement
quote:Original post by YoshiN
That was a stupid bug in VC++ 6.0. It should be updated, so download some of the service packs. In any case it doesn''t exist in VS.NET.

It wasn''t a bug. The VC++6.0 behavior is consistent with what was expected from a compiler prior to the C++ standard. MS chose not to break existing code by changing the behavior.



--
AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.
[Project site] [Blog] [RSS] [Browse the source] [IRC channel]
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
quote:Original post by Spencer
quote:
Learn not to disrespect people when you know nothing about me, or my coding style. My network code, gui, etc are ALL seperated, and all OS specific code is in a single class like I said, so by replacing this class (inherit a base class, and fill in required functions), I can run my engine under any OS, or at least that was the plan. I wrote a linux version, and the class works fine, but the other code that was OS independant (plain old opengl calls, etc) were the ones having problems.


i am sorry if you took it personal, and i know now that it might have come out that way. This was not what i intended.
My opinion is just that people seem to think that you cant code for linux or that it is a platform for boring universities and stuff, but this is not the case nowdays. Sorry again...



Heh, no problem, just looked like a personal attack on me. (Happens way to often on these message boards). I was trying to make my game as OS un-specific as possible, and seperate as much as possible (within reason of course). The part that''s causing the problem was one of the last places I would have thought, and still can''t find a reason for it. I will install some software drivers soon, and see if it works properly... if so, I can pretty much assume it''s a driver issue, write a minimal app showing the problem, and send it over to DRI to hopefully get it fixed up.

This topic is closed to new replies.

Advertisement