Friday, January 24, 2014

Monterey 3.0.0 - Windows Executable Released!

Hey!  It's been a while since I last wrote an article.  I've been kept pretty busy with school work (2 CS classes, a math class, physics and a job on the side).  Anyway, I received some incredibly nice emails and PMs the past few days from some users from the Homebuilt ROV Forums thanking me for working on Monterey and releasing it for free.  They had some feedback for making Monterey easier to use, and I've taken their feedback to heart.  The most pressing issue was that there wasn't a compiled version of Monterey for Windows for new users to download (Windows is by far the largest target audience according to my Sourceforge download stats).  It has been months since I last looked into fixing the deployment issue that Monterey faced with the switch from Qt 4.X to Qt 5.1.  I sat down tonight after finishing up some math homework and tried getting Monterey to work with the help of QuantumCD.  Here's what happened.

(Quick note: Since I did not have access to another Windows machine, I would rename my QTDIR so that any applications trying to reference it would not be able to find it.)

I tried getting some Hello World Qt apps to "deploy on another Windows machine."  I got that working and QuantumCD verified that it worked on his system, too.  Then, I tried Monterey.  Monterey ran just fine before I renamed my QTDIR.  However after renaming it, Monterey would fail to launch and even fail to display any warning or crash dialogs. That meant that Montery was trying to load up something from my QTDIR.  So I went through and copied mingw48_32/bin into Monterey's directory.  Then changed my QTDIR... and crash.  So that's obviously not all that I have to do.  I kept experimenting, but this time, instead of changing my QTDIR's name, I would rename subfolders in it until Monterey would crash, signifying that Monterey needed something in that directory.

After about 10 minutes of this, I figured out the one folder that Monterey needed that I had never copied over to Monterey's directory before (and NO online tutorials or forum posts said to copy this over). I figured out that QTDIR/mingw48_32/qml/QtQuick.2 was needed for Monterey to run.  After copying that directory into Monterey's directory, I figured out that qtquick2plugin.dll and qmldir were both required. Bam, deployment problem solved!

RootDir
-platforms
    -qwindows.dll
    -qminimal.dll
-QtQuick.2
    -qmldir
    -qtquick2plugin.dll
-icudt51.dll
-icuin51.dll
-icuuc51.dll
-libgcc_s_dw2-1.dll
-libstdc++-6.dll
-libwinpthread-1.dll
-Monterey.exe
-Qt5Core.dll
-Qt5Gui.dll
-Qt5Network.dll
-Qt5OpenGL.dll
-Qt5PrintSupport.dll
-Qt5Qml.dll
-Qt5Quick.dll
-Qt5Sensors.dll
-Qt5Sql.dll
-Qt5V8.dll
-Qt5WebKit.dll
-Qt5WebKitWidgets.dll
-Qt5Widgets.dll
-SDL.dll
-sdl-config

I'm happy to have finally fixed that issue!  Now I feel as though work on Monterey can continue this summer.  I won't promise anything before then because I'm kept pretty busy here.  I'm hoping to score a software development internship for this summer, which would be incredibly fun and educational.  The UC system is looking at having us start even later than we already do, which means that I'd have almost a month after my internship to work on Monterey.

When I do work on Monterey this summer I want to focus first on making it more polished, and then adding features.  I want to make it easier to customize (probably using config files) and QuantumCD and I have been talking about making it themeable.  Stay tuned for more information!

You can grab Monterey 3.0.0 here.

Thanks for stopping by!

Chris Konstad

No comments:

Post a Comment