Something like this if you are using gcc 13:
Code:cd mxe/usr/i686-w64-mingw32.static/lib ln -s ../../lib/gcc/i686-w64-mingw32.static/13.3.0/libatomic.a libatomic.a cd mxe/usr/x86_64-w64-mingw32.static/lib ln -s ../../lib/gcc/x86_64-w64-mingw32.static/13.3.0/libatomic.a libatomic.a
+ Reply to Thread
Results 301 to 330 of 333
Thread
-
PB
-
PB
-
Thanks for the command line, i'll try.
And for the patch, you answered the question i wanted to ask. I've misunderstood, i thought it was a git patch to apply, when it was just a file to put, the mxe building process applying it.
I'll try also...
-
Hi.
It worked for 64 bits, QT5 fully build.
But for 32 bits, it fails later, gcc throws me an uncompatible cast error during the build of Qtconnectivity...
Don't tested QT6 yet, it takes 3h each time for me to build the full mxe... So QT5+QT6 32/64 -> 3hx4 minimum ! -
@jpsdr
I guess you are doing a full qt5 build. All qt5 components required by mkvtoolnix are built by this line in the setup script which Mosu recently removed:
Code:MKVTOOLNIX_DEPENDENCIES+=qtbase qttranslations qtwinextras
Code:MKVTOOLNIX_DEPENDENCIES+=qt5 qtmultimedia
PB -
Arigatôu gozaimasu ^__^
"Programmers are human-shaped machines that transform alcohol into bugs." -
-
@autodidact
Hello, and as usual, thanks for your work.
Is it possible for you to describe exactly the process to create the .patch file to put is /src/qt/qt6 directory to replace the creation of the custom package ?
In some of the commits in the Windows7 custum QT6 i've seen some "linux build" recently. Have you tested by any chances if these commits make some of the big changes you've made not necessary anymore ? -
Hi jpsdr.
To make a patch extract the qtbase archive to two locations such as qtbase1 and qtbase2.
Place the patches from qt6windows7 in the qtbase2 location.
Run this command from the root folder of the qtbase locations to create a patch:
Code:diff -urN qtbase1/ qtbase2/ >qt6-qtbase-2-windows7.patch
If you do make a patch with their latest updates, please let me know how it goes.PB -
For now, i've tested the old pkg method, but keeping merging their version with the one you made once (you can check here if you want).
So i've made a pkg of 6.8.1, unfortunately, it seems that mxe has a patch in the code in an already patched file, so build fails with an error telling a patch on a QT6 file cannot be done. -
So MXE has added a patch that conflicts with one of our patches. If you are using a patched qtbase archive then you will have to remove the redundant patch from MXE's qt6-qtbase-1-fixes.patch file and try building again.
PB -
Hello, and first, happy new year.
I'll try to see if i can do that. One of my issues is that i don't know how to properly remove a patch in a .patch file, editing with notepad or even notepad++ is not very easy.
Even with TortoiseGitUDiff, a little more appropriate, i don't realy see how to edit the file properly, but i'll try something. -
Happy new year!
I don't bring particularly good tidings though. The prospects for qt 6.8.1 are not looking good. I made a patch and qt compiled fine but mkvtoolnix doesn't work properly with it. Looking at the qt repository I see that since 6.7.3 they have been removing more legacy compatiblity code.
I will be interested to hear if you have a better result.PB -
"Programmers are human-shaped machines that transform alcohol into bugs."
-
He does seem determined to be on the latest version at all costs, even if it doesn't have any functional improvements.
Certainly no improvements for those of us using older operating systems.
I'll use 6.7.3 for now with the qt6 builds and hopefully we can squeeze another year out of the qt5 version as well.PB -
I'll test this WE (i hope i'll find time), but if you used the 6.8.1 Windows 7 version, i don't think i'll be able to do better than you.
-
I have the following errors:
Code:/home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp: In function 'QColor qt_accentColor(AccentColorLevel)': /home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp:128:16: error: 'accentDarker' was not declared in this scope; did you mean 'accentDarkest'? 128 | return accentDarker; | ^~~~~~~~~~~~ | accentDarkest /home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp:130:16: error: 'accentDark' was not declared in this scope; did you mean 'accentDarkest'? 130 | return accentDark; | ^~~~~~~~~~ | accentDarkest /home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp:134:16: error: 'accentLighter' was not declared in this scope; did you mean 'accentLight'? 134 | return accentLighter; | ^~~~~~~~~~~~~ | accentLight /home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp:136:16: error: 'accentLightest' was not declared in this scope; did you mean 'accentLight'? 136 | return accentLightest; | ^~~~~~~~~~~~~~ | accentLight /home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp: In static member function 'static void QWindowsTheme::populateLightSystemBasePalette(QPalette&)': /home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp:317:39: error: 'accentDark' was not declared in this scope; did you mean 'accentDarkest'? 317 | result.setColor(QPalette::Accent, accentDark); // default accent color for controls on Light mode is AccentDark1 | ^~~~~~~~~~ | accentDarkest /home/jpsdr/MKVToolNixQT6/mxe/tmp-qt6-qtbase-x86_64-w64-mingw32.static/qtbase-everywhere-src-6.8.1/src/plugins/platforms/windows/qwindowstheme.cpp:319:37: error: 'linkColor' was not declared in this scope 319 | result.setColor(QPalette::Link, linkColor); | ^~~~~~~~~
-
@autodidact
Hello.
How did you solved this...?
Can you give me your qwindowstheme.cpp ? -
PB
-
Thanks for the file, i've been able to fix this point, but...
I'm going mad, now i have this...
Code:CMake Error at /home/jpsdr/MKVToolNixQT6/mxe/usr/x86_64-w64-mingw32.static/qt6/lib/cmake/Qt6/QtToolHelpers.cmake:768 (message): Failed to find the host tool "Qt6::qhelpgenerator". It is part of the Qt6ToolsTools package, but the package did not contain the tool. Make sure that the host module Tools was built with all features enabled (no explicitly disabled tools). Call Stack (most recent call first): /home/jpsdr/MKVToolNixQT6/mxe/usr/x86_64-w64-mingw32.static/qt6/lib/cmake/Qt6/QtToolHelpers.cmake:83 (qt_internal_find_tool) src/assistant/qhelpgenerator/CMakeLists.txt:9 (qt_internal_add_tool)
-
I have not seen any cmake errors. The mention of host suggests that the pc-linux component didn't build correctly.
There is a PR to make one of the upstream patches compatible with MXE.
https://github.com/crystalidea/qt6windows7/pull/28
Following that example, I am working on a new patch that will use the upstream patches directly.
If it compiles successfully I will post it.PB -
I finally have a working solution for qt 6.8.1.
After getting the upstream patches to build in MXE there was still the same problem with mkvtoolnix not functioning properly.
So I did a little more digging in the code changes and found that the default font rendering had changed from GDI to directwrite starting in 6.8.0.
Of course it defaults to the Windows 10/11 version which results in failure on Windows 7/8.
A configuration change to qt and a rebuild and everything is working now.
2 files to be placed in src/qt/qt6:- qt6-qtbase-1-fixes.patch - MXE's patch modified to be compatible with the Windows 7 patch.
- qt6-qtbase-2-windows7.patch - The Windows 7 patch using the upstream patches.
Code:-DFEATURE_directwrite3=OFF
Last edited by autodidact; 14th Jan 2025 at 14:36.
PB -
Thanks !
But stupid question : Shouldn't this GDI/Directwrite issue not happening in the Windows7 version of QT6 ?
Edit:
Your qt6-qtbase.mk contains:
Code:CPPFLAGS='-I/home/pbruso/mxe/usr/x86_64-w64-mingw32.static/include'
There isn't some kind of $HOME stuff instead ?Last edited by jpsdr; 14th Jan 2025 at 14:17.
Similar Threads
-
FFmpeg Windows builds at gyan.dev
By Gyan in forum Video ConversionReplies: 34Last Post: 11th Feb 2024, 11:46 -
windows dos batch cat: WHAT UNTIL A FILE EXIST ?!?
By marcorocchini in forum Newbie / General discussionsReplies: 4Last Post: 18th Jun 2020, 17:58 -
please delete. thanks
By mrjayviper in forum Video ConversionReplies: 0Last Post: 11th Feb 2018, 05:24 -
Why is there no Official Windows XP Sticky???
By SameSelf in forum ComputerReplies: 1Last Post: 23rd Jun 2017, 00:20 -
Official Windows 8 Thread
By artistmode in forum ComputerReplies: 55Last Post: 21st Apr 2017, 09:01