Re: Midgard
- Posted by Travis Beaty <eucoder at travisbeaty.us> Aug 22, 2004
- 433 views
On Sunday 22 August 2004 01:08 pm, Martin Stachon wrote: > Hello Travis, > will this work also under Windows? Qt applications seem to behave better > under Windows than GTK ones. > > Martin 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. 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. 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! Travis.