MXE and Qt 5.9.0

Lubomir I. Ivanov neolit123 at gmail.com
Sun Jul 30 17:28:52 PDT 2017


On 31 July 2017 at 03:14, Dirk Hohndel <dirk at hohndel.org> wrote:
> On Mon, Jul 31, 2017 at 12:29:17AM +0300, Lubomir I. Ivanov wrote:
>> On 30 July 2017 at 23:21, Dirk Hohndel <dirk at hohndel.org> wrote:
>> > 5.7 didn't appear to include the esri plugin... That's why I tried to switch to 5.9. And because of the way mxe is organized, that brought with it the switch from GCC 4.x to 5.4 which is what I suspect might be the cause of my problem...
>> >
>>
>> https://github.com/qt/qtlocation/tree/5.7
>> indeed does not include the ESRI plugin so it's a new addition. but
>> maybe you can try building the ESRI plugin with Qt 5.7.
>>
>> i was able to build the ESRI plugin locally, here is how:
>>
>> i have the official Qt 5.9.0 binary Mingw packages for Windows
>>
>> - downloaded this 5.9.0 tree in a zip
>> https://github.com/qt/qtlocation/tree/5.9.0
>> - extracted it in a folder qtlocation-5.9.0
>> - cd qtlocation-5.9.0/src/plugins/geoservices/esri
>> - qmake
>> - make
>> this resulted in .dll and .a files created in:
>> qtlocation-5.9.0/plugins/geoservices
>
> But that fails when I try to build against Qt 5.7.1:
>
> i686-w64-mingw32.shared-g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++11 -fno-exceptions -frtti -Wall -Wextra -Wvla -DUNICODE -DQT_NO_MTDEV -DQT_NO_DYNAMIC_LIBRARY -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_LOCATION_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_POSITIONING_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQ_USE_SYBASE -I. -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtLocation/5.7.1 -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtLocation/5.7.1/QtLocation -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtLocation -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtQuick -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtGui -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtPositioning/5.7.1 -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtPositioning/5.7.1/QtPositioning -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtCore/5.7.1 -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtCore/5.7.1/QtCore -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtPositioning -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtQml -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtNetwork -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/include/QtCore -I.moc/release -I/data/winqt571/mxe/usr/i686-w64-mingw32.shared/qt5/mkspecs/win32-g++  -o .obj/release/geocodereply_esri.o geocodereply_esri.cpp
> geocodereply_esri.cpp: In constructor 'GeoCodeReplyEsri::GeoCodeReplyEsri(QNetworkReply*, GeoCodeReplyEsri::OperationType, QObject*)':
> geocodereply_esri.cpp:63:20: error: 'aborted' is not a member of 'QGeoCodeReply'
>      connect(this, &QGeoCodeReply::aborted, reply, &QNetworkReply::abort);
>                     ^

looks like the QGeoCodeReply::aborted() signal was added in Qt 5.9.

The 5.8 version of ESRI might build with 5.7.1.
https://github.com/qt/qtlocation/tree/5.8/
https://github.com/qt/qtlocation/tree/5.8/src/plugins/geoservices/esri

it uses:
connect(m_reply, SIGNAL(error(QNetworkReply::NetworkError)), this,
SLOT(networkReplyError(QNetworkReply::NetworkError)));

but it might be using other Qt 5.8 exclusive features.

lubomir
--


More information about the subsurface mailing list