Details
-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
5.9
-
None
-
Ubuntu Xenial
- mingw-w64
- CrossCompile
{noformat}
./configure -v -recheck-all -opensource -confirm-license \
-xplatform win32-g++ -device-option CROSS_COMPILE=${MINGW}- \
-no-compile-examples \
-I$(pwd)/usr/include \
-L$(pwd)/usr/lib \
-prefix $(pwd)/usr \
-system-proxies \
-opengl desktop \
-openssl-runtime \
-skip qtspeech \
-shared \
-release
{noformat}
I created a reproducable build environment in docker instances:
{noformat}
docker run -it --rm -v $(pwd):/workdir -u $(id -u) mwaeckerlin/mingw /build-openssl.sh -d
docker run -it --rm -v $(pwd):/workdir -u $(id -u) mwaeckerlin/mingw /build-icu.sh -d
docker run -it --rm -v $(pwd):/workdir -u $(id -u) mwaeckerlin/mingw /build-qt.sh -d -v 5.9
{noformat}Ubuntu Xenial - mingw-w64 - CrossCompile {noformat} ./configure -v -recheck-all -opensource -confirm-license \ -xplatform win32-g++ -device-option CROSS_COMPILE=${MINGW}- \ -no-compile-examples \ -I$(pwd)/usr/include \ -L$(pwd)/usr/lib \ -prefix $(pwd)/usr \ -system-proxies \ -opengl desktop \ -openssl-runtime \ -skip qtspeech \ -shared \ -release {noformat} I created a reproducable build environment in docker instances: {noformat} docker run -it --rm -v $(pwd):/workdir -u $(id -u) mwaeckerlin/mingw /build-openssl.sh -d docker run -it --rm -v $(pwd):/workdir -u $(id -u) mwaeckerlin/mingw /build-icu.sh -d docker run -it --rm -v $(pwd):/workdir -u $(id -u) mwaeckerlin/mingw /build-qt.sh -d -v 5.9 {noformat}
Description
Cross Compilation for Windows MinGW64 on Linux fails. There is already a bugfix, but the bugfix does not work as expected,
In:
qtwinextras/src/winextras
Error:
qwinjumplist.cpp:404:106: error: ‘SHCreateItemFromParsingName’ was not declared in this scope
Solution:
Please run the following bug fix:
sed -i '/# *if *defined *( *_WIN32_IE *) *&& *_WIN32_IE *<< *0x0700/{s,<<,<,}' qtwinextras/src/winextras/qwinjumplist.cpp
This changes in file qtwinextras/src/winextras/qwinjumplist.cpp
From line:
# if defined(_WIN32_IE) && _WIN32_IE << 0x0700 // _WIN32_IE_IE70
To line
# if defined(_WIN32_IE) && _WIN32_IE < 0x0700 // _WIN32_IE_IE70