Re: Midgard
- Posted by Martin Stachon <martin.stachon at tiscali.cz> Aug 23, 2004
- 431 views
Travis Beaty wrote: > > Hello Mr. Stachon! > > As I indicated in the documentation, at this time I have no plans to > consciously make Midgard cross-platform. If I have a lot of people request > that I do so, I could be persuaded to do my best not to write any > platform-specific code. As far as reasoning for this is concerned, again, > I've outlined that in the documentation, but to summarize: > > I haven't coded anything for Windows in quite a long while, and the only > reason I even have Windows on my machine is for the sake of my scanner. (I > bought it cheap, and it has to have Windows ... got to be a correlation > there.) Other than that, I don't use Windows, and if turned on and left to > its own devices, the computer defaults to booting into Linux. I share many > of Mr. Mullins' opinions concerning Windows, but I won't expound on them > here, as I recently donated my asbestos underwear to the volunteer fire > department. You surely have much more knowledge about Qt than me (I always prefered GTK/Gnome applications for Linux) But from what I read on trolltech's website, it should be easy to write cross-platform code with Qt as it handles also file operation, threading, networking, etc. > While Qt in Linux is distributed under the GPL (actually, it is dual-licensed > and is available under the Q Public License as well), Qt for Windows is not. > In order to legally develop using Qt in Windows, the purchase of a license is > required. The cheapest license that I found for Qt while looking through > their website was $1,500 US. Given I don't ordinarily code for Windows, and > have no plans to, I simply can't justify the expense. Therefore, even if I > did try to make Midgard cross-platform, I would have no way to test it on my > own machine. This is the real problem. I love linux, but not everybody does so, so I'd like my applications to be cross-platform. So I'll probably stick to GTK. But I saw some opensource projects running with Qt/Windows, for example the Psi Jabber client (http://psi.affinix.com/) Did they buy the license? > The best that I could do, again, would be to make sure there is no > platform-specific code, and if there is, place it in a if platform() = ... > then block. > > That having been said, considering the cross-platform capabilities of both Qt > and Euphoria, it should, in theory, be trivial to port Midgard. There is > only one function in the Euphoria code that would have porting issues, and > that would be a simple matter to fix. As far as the shared library code > (written in C++ with exposed functions declared with extern "C"), I can think > of no issues off the top of my head. I can't see why MinGW wouldn't be able > to build the shared library code into a .dll with a little tweaking of the > makefile ... assuming, of course, that the both the developer and target > machines have the Windows versions of the Qt Development tools to link > against. > > At this point, to build the shared library, the only items you would need to > have are the Qt shared libraries, the header files, and the moc meta-object > compiler. Oh yeah, and a $1,500 license. > > Remember too that Midgard is also licensed under the GPL. It is under that > license no matter what operating system it resides on. This means that if > you happen to have a license for Qt for Windows, and you want to port it, > have at 'er. If that is the case, it might be best to wait until I have > released a beta as opposed to "previews" ... Midgard is extremely unstable at > the moment, and the code could violently change between releases until I get > the thing pinned down. > > I hope this answers your question. Have a wonderful day! Thanks for the information. Have a nice day too! Martin