# NON-OFFICIAL Windows-builds of MKVtoolnix.

1. I think you cannot compile the newest source code wirh an earlier framework.
Many needed functions arn't included.
2. Originally Posted by autodidact
The Qt version used should be in the Help menu under System information. Qt 5 is a long-term support release and my build uses 5.15.5 which I think is the latest in that line and remains compatible with Win 7/8.
Thanks this shows the version in MKVToolNix GUI V68.0.0 ('The Curtain') 32-bit as 5.15.4
I will stick with it for now unless it fails to work.

I will try it if I need to.
3. Originally Posted by jpsdr
Edit 2
Ok, i have mxe and mkvtoolnix. Unfortunately, i have no idea how to change the QT part, and use 5.x version...
Just try to run setup_cross_compilation_env and then rake (from the directory where there is setup_cross_compilation_env file), but the rake end up in faillure :
# rake
(in /f/PRG/MKVToolnix/mkvtoolnix)
rake aborted!
/f/PRG/MKVToolnix/mkvtoolnix/rake.d/config.rb:16:in read_build_config'
/f/PRG/MKVToolnix/mkvtoolnix/rakefile:42:in <top (required)>'
(See full trace by running task with --trace)
It looks like it didn't run ./configure. There should be a run_configure.sh script that will do that. Then run rake.
Qt dependencies can be altered in the setup_cross_compilation_env.sh script before you run it.
4. The only lines i see with a QT version are :
Code:
MKVTOOLNIX_DEPENDENCIES+=qtbase qttranslations qtwinextras
MKVTOOLNIX_DEPENDENCIES+=qt6 qt6-qtmultimedia
Do i just need to change them with :
Code:
MKVTOOLNIX_DEPENDENCIES+=qtbase qttranslations qtwinextras
MKVTOOLNIX_DEPENDENCIES+=qt5 qt5-qtmultimedia
And that's all ?
The script will do all the others things : download and build the latest qt5 version ?

For now, i'm still working with my first issue. Indeed the ./configure is not run because the script "crash" running build_libraries.
If i just run make directly from the mxe directory, my result is :
Code:
------------------------------------------------------------
Obsolete target specified: "i686-pc-mingw32"

i686-pc-mingw32 removed 2014-10-14 (https://github.com/mxe/mxe/pull/529)
------------------------------------------------------------
.  Stop.
I'm using msys2, but for now i'm under my Windows7 x86 OS, i have to try under my Windows 7 x64 OS but don't have time for now, maybe msys2 will behave differently.
5. I don't use msys2 so I may not be able to help if there are issues with using that environment. But please view the following post.
6. For Qt5 it would look like:

Code:
MKVTOOLNIX_DEPENDENCIES+=qtbase qttranslations qtwinextras
MKVTOOLNIX_DEPENDENCIES+=qt5 qtmultimedia
Originally Posted by jpsdr
And that's all ?
The script will do all the others things : download and build the latest qt5 version ?
Yes. And the automatic script should be run from the root of the mkvtoolnix source directory. Unless you follow the manual method there should be no need to run anything from within the mxe directory.
7. So for now on the mkvtoolnix DON'T released at win7 and older windows system?
8. Originally Posted by johns0
If people wanted programs to work with outdated systems(with security risks)then programs themself won't get updated due to lack of updated system files,heck we'd all still be on windows xp.
I believe you are total wrong cause we don't have everybody pc systems that is capable for newer windows system.
So all of us must stay with old programs cause old windows like win7 don't supported anymore from Microsoft?

Microsoft is a company that want money and nothing more, and this is the major reason stop support older windows so make us buy the newer(With all problems and blue screens does it has).
But i believe programs like mkvtoolnix that it is open source or free(Not from company that thinks only money) must support older systems exactly for that reason.

This is my opinion.
9. I might get one of these https://www.kogan.com/au/buy/kogan-atlas-g600-mini-pc-windows-11-pro/ and keep it for mkvtoolnix until I decide to get a replacement for my Windows 7, long in tooth but has been really reliable!
10. Really you suggest me to buy a new pc???

Really???
I don't even answer to that suggestion.
11. @autodidact
I've been able to test on an ubuntu 20.04.
After getting all the mxe dependencies and solving the others issues, i run the setup_cross_compilation_env script (after changing the QT dependencies to QT5 as you explained in post #36) from the mkvtoolnix root directory, and when finished, i run rake. It didn't work saying that configure wasn't run, so i run ./configure, there was issues of missing things, i've been able to solve them installing : "libogg-dev libvorbis-dev", but even after installing "qt5-default", ./configure still error telling than QT is not installed :
Code:
configure: Using the internal version of fmt
checking for ZLIB... yes
checking for qmake6... no
checking for qmake-qt6... no
checking for qt6-qmake... no
checking for qmake-qt5... no
checking for qmake... /usr/bin/qmake
checking for qmake's version... 5.12.8
checking for lconvert... /usr/bin/lconvert
checking for moc... /usr/lib/qt5/bin/moc
checking for rcc... /usr/lib/qt5/bin/rcc
checking for uic... /usr/lib/qt5/bin/uic
configure: error: The Qt library is required for building MKVToolNix.
12. Originally Posted by fits79
Really you suggest me to buy a new pc???

Really???
I don't even answer to that suggestion.
No not at all, didn't suggest that - that is my decision suitable for me - you will do whatever you want to do.
Personally I don't think the time and effort to find a work around is too much bother (for me!).
13. Originally Posted by jpsdr
@autodidact
I've been able to test on an ubuntu 20.04.
After getting all the mxe dependencies and solving the others issues, i run the setup_cross_compilation_env script (after changing the QT dependencies to QT5 as you explained in post #36) from the mkvtoolnix root directory, and when finished, i run rake. It didn't work saying that configure wasn't run, so i run ./configure, there was issues of missing things, i've been able to solve them installing : "libogg-dev libvorbis-dev", but even after installing "qt5-default", ./configure still error telling than QT is not installed :
Code:
configure: Using the internal version of fmt
checking for ZLIB... yes
checking for qmake6... no
checking for qmake-qt6... no
checking for qt6-qmake... no
checking for qmake-qt5... no
checking for qmake... /usr/bin/qmake
checking for qmake's version... 5.12.8
checking for lconvert... /usr/bin/lconvert
checking for moc... /usr/lib/qt5/bin/moc
checking for rcc... /usr/lib/qt5/bin/rcc
checking for uic... /usr/lib/qt5/bin/uic
configure: error: The Qt library is required for building MKVToolNix.

This is likely a result of running ./configure directly and gets back to the run_configure.sh script I mentioned in a previous post. If the setup_cross_compilation_env.sh script built all the necessary libraries and finished, it should also have created a run_configure.sh script in the root of the mkvtoolnix directory. Run that script to configure the build. If it completes successfully you can then run rake and it should start building mkvtoolnix.
14. BIG thanks ! I've been able to build, at least i have a working process, i can use as base
Unfortunately, access to Linux is very limited for me, so i'll continue to see if i can build it under Windows with MSYS2.
15. I have seen some indication that it may be possible to build mkvtoolnix in msys2 using its native cross-compilers rather than using mxe. I may do some investigating of that.

16. @autodidact
Hello...
My .exe files are almost twice as big as yours. Did you do something specific (like strip) ?
If yes, what exactly ?
Muso told me it's maybe because i didn't strip them, but no idea how to do that...
17. Originally Posted by jpsdr
@autodidact
Hello...
My .exe files are almost twice as big as yours. Did you do something specific (like strip) ?
If yes, what exactly ?
Muso told me it's maybe because i didn't strip them, but no idea how to do that...
Command-Line: strip --strip-debug path\to\filename.exe

NOTICE, 32-bit executables require the 32-bit strip.exe, 64-bit executables require the 64-bit strip.exe.
18. Originally Posted by jpsdr
@autodidact
Hello...
My .exe files are almost twice as big as yours. Did you do something specific (like strip) ?
If yes, what exactly ?
Muso told me it's maybe because i didn't strip them, but no idea how to do that...
Yes, I stripped the files. I didn't use any switches on the strip command. And as El Heggunte mentions the right version should be used which is why a version is in the MXE environment prefixed with the build you chose.

Collect them together in a location for stripping them all at once.

32-bit build:
Code:
{mxe}/usr/bin/i686-w64-mingw32.static-strip *.exe
64-bit build:
Code:
{mxe}/usr/bin/x86_64-w64-mingw32.static-strip *.exe
19. MKVtoolnix 69.0.0.39 for Windows 7 AND Windows 8.1 has been released.

Many THANKS to jpsdr.

https://github.com/jpsdr/MKVToolnix-QT5-Windows-7/releases/
20. Great, thank you.

Taking my hat off for jpsdr and everyone helping to make this possible.

How can it be that my preferences are already exactly like I set them in the installed version. Being a portable, does it "peek" somewhere?
21. Originally Posted by Ennio
How can it be that my preferences are already exactly like I set them in the installed version. Being a portable, does it "peek" somewhere?
Unless you manually create a text-file named "mkvtoolnix-gui.INI", the program will look for its settings in Windows's Registry.
22. Clear, thank you.

Should I - accidentally - use both versions simultaneously, I reckon it would be wise creating the .ini file for the stand-alone? To avoid conflicts?
23. Glad it helped. Didn't thought it could be mistaken for a portable version, maybe it works, but it wasn't intended in this way. It was intended to use to replace yours allready installed files by the ones provided.
I'll try to put this clear when i'll do another release. Don't know when it will be, as i'll not be able to have access to a Linux PC for a while (and unknow time), and still failling building using MSYS2...
There is autodidact in the first place, and it's thanks to him that i've been able to make it.
24. Well, the package looked 'portable' to me. Thanks though for explaining the proper usage.

ATM I still have version 68.0.0.36 installed, which natively runs under Windows 7. I'm unsure of what do do now.
Do I replace the files of current installation, or should I first update/install latest offical version 69 and then go replace them?
25. Updating to latest official will update all the others stuff, translation files for exemple. So, for being up to date for everything else, it's better to install the last version.
26. Will do. Thanks, jpsdr
27. Here is release version 70.0.0.
28. Thank you so much...

Just tested it (32-bit version only), works nicely.

Cheers
manolito
29. Originally Posted by autodidact
Here is release version 70.0.0.
Thank you very much.
30. Thanks so much.

Statistics