MultiMC version:
Latest development source, cloned from GitHub
Operating System:
Windows 10 v1709 amd64
I'm trying to follow the build instructions for Windows from here to build MultiMC5 from source (the old build instructions for MultiMC4 I assume are outdated).
I have installed the following dependencies:
Qt (Log from the Qt Maintenance Tool)
Other dependencies (outside Qt)
However, builds with Qt Creator fail with "unable to find compiler" or
'gmtime_r' was not declared in this scope
struct tm *s = gmtime_r(&t, &sbuf);
^~~~~~~~
or other miscellaneous errors.
Builds with qt 5.14.2 (MinGW 7.3.0 32-bit) fail, unable to find a compiler.
Builds with qt 5.14.2 (MinGW 7.3.0 64-bit) fail with quazip errors (here's a pastebin). It seems to be the same issue this person had years ago
I read in #1641 that apparently Qt v5.4.1 was a hard requirement previously, and am wondering if Qt v5.6 (recommended by BUILD.md as the minimum version, but completely unavailable via Qt online installer and archives) might be another hard requirement of Qt?
It must be possible to build MultiMC5 for Windows successfully, as the TeamCities CI is doing so successfully. I would like to learn how to build it for myself, or narrow down potential issues and improve BUILD.md
I ... don't see the need of supporting development on Windows.
No problem :) Thank you for responding.
As Murphy's Law would have it, it somehow magically built itself in Qt Creator after I added a snippet of code to zip.cpp. (from here: https://github.com/mayah/tinytoml/issues/25)
I'm going back over the workflow to figure out what I changed, and will share my process here once done (and close the issue)
The reality is that MultiMC is and will, for the foreseeable future, be built with a different compiler, Qt 5.6, and completely different builds of all those libraries.
The reality is that MultiMC is and will, for the foreseeable future, be built with a different compiler, Qt 5.6, and completely different builds of all those libraries.
Aha! that's probably where I was going wrong! Couldn't find Qt v5.6 anywhere to download. I didn't intentionally use wrong versions of the libraries, just available ones that I could find (e.g. for me, Qt Maintenance tool shows Qt 5.9.0 as the minimum available version, even with filters set to include legacy). Is there a list somewhere of the specific versions required to build MultiMC5? BUILD.md implied it was non-version-specific with its library requirements.
On the bright side, I've got MultiMC5 booting through Qt Creator (Qt 5.14.2); just need to figure out the DLLs to make it standalone.
I managed to get it built and working perfectly with Qt 5.14.2 on Windows (tested on multiple computers). Here's my process (rough draft document, but should work, and may be easier to follow/more up to date than the Windows part of BUILD.md):
Readme how to build2.txt
Once I get it polished up, would a pull request/some way of adding it to the Git be accepted/useful?
Probably? I have no intention of using 5.14 any time soon, but work like this should not go to waste.
Qt5.9 can compile the latest source code without the library. It can be compiled directly. Compiled by qt5.14, which cannot be used by other computers. It is 30MB larger than the source code compiled by 5.9
You can't download Qt 5.6 for Windows using the Qt online installer anymore. If someone's struggling to find it, you can use this mirror of the offline installer: http://linorg.usp.br/Qt/archive/qt/5.6/