Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
2.5.0, 2.5.1, 2.5.2, 2.6.0, 2.6.0 (rev.07), 2.6.0 (rev.18), 2.7.0, 2.7.1, 2.7.1 (rev.08)
-
None
-
Visual Studio 2019, v16.9.2
Qt 5.15.2
Windows 10 [Version 10.0.19042.867]
-
-
a6b0658fcefdef518c073cce6e057ffe6a8c802d
Description
When trying to add Qt Version 5.15.2, it fails with the following log:
--- qmake(13900): started C:\USR\VC142\QT-5.15.2\bin\qmake.exe --- qmake: Querying persistent properties --- qmake(13900): exit code 0 (23.82 msecs)Value cannot be null. Parameter name: path1Stacktrace: at System.IO.Path.Combine(String path1, String path2, String path3) at QtVsTools.Core.QMakeConf..ctor(VersionInformation versionInfo, QMakeQuery qmakeQuery) at QtVsTools.Core.VersionInformation.GetQMakeConfEntry(String entryName) at QtVsTools.Options.QtVersionsPage.SaveSettingsToStorage()
My qmake query looks like this:
C:\>qmake -query QT_INSTALL_DEMOS:C:/usr/vc142/qt-5.15.2/examples QT_SYSROOT:C:/ QT_INSTALL_PREFIX:C:/usr/vc142/qt-5.15.2 QT_INSTALL_ARCHDATA:C:/usr/vc142/qt-5.15.2 QT_INSTALL_DATA:C:/usr/vc142/qt-5.15.2 QT_INSTALL_DOCS:C:/usr/vc142/qt-5.15.2/doc QT_INSTALL_HEADERS:C:/usr/vc142/qt-5.15.2/include QT_INSTALL_LIBS:C:/usr/vc142/qt-5.15.2/lib QT_INSTALL_LIBEXECS:C:/usr/vc142/qt-5.15.2/bin QT_INSTALL_BINS:C:/usr/vc142/qt-5.15.2/bin QT_INSTALL_TESTS:C:/usr/vc142/qt-5.15.2/tests QT_INSTALL_PLUGINS:C:/usr/vc142/qt-5.15.2/plugins QT_INSTALL_IMPORTS:C:/usr/vc142/qt-5.15.2/imports QT_INSTALL_QML:C:/usr/vc142/qt-5.15.2/qml QT_INSTALL_TRANSLATIONS:C:/usr/vc142/qt-5.15.2/translations QT_INSTALL_CONFIGURATION: QT_INSTALL_EXAMPLES:C:/usr/vc142/qt-5.15.2/examples QT_INSTALL_DEMOS:C:/usr/vc142/qt-5.15.2/examples QT_HOST_PREFIX:C:/usr/vc142/qt-5.15.2 QT_HOST_DATA:C:/usr/vc142/qt-5.15.2 QT_HOST_BINS:C:/usr/vc142/qt-5.15.2/bin QT_HOST_LIBS:C:/usr/vc142/qt-5.15.2/lib QMAKE_SPEC:win32-msvc QMAKE_XSPEC:win32-msvc QMAKE_VERSION:3.1 QT_VERSION:5.15.2
I played around with this problem and looked at the vstools code.
I found this https://github.com/qt-labs/vstools/blob/3c79e51f3efaad7822873f4fc7b84bbd00de368e/src/qtvstools.core/QMakeConf.cs#L46 .
So I tried to copy the path <QT_INSTALL_PREFIX>/mkspecs/win32-msvc to <QT_INSTALL_PREFIX>/mkspecs/default. After this was done I tried to add the Qt version again and it works.
This leads to the idea that something is wrong when finding the qmakeConf path: https://github.com/qt-labs/vstools/blob/3c79e51f3efaad7822873f4fc7b84bbd00de368e/src/qtvstools.core/QMakeConf.cs#L65
After I added Qt Version I then tried to update a qt version for my solution. And I got another error message: "Error starting qmake process". I searched it in the code and found this https://github.com/qt-labs/vstools/blob/906228326ea42863d1e3a98c11ffc9540239fa62/src/qtvstools.core/VersionInformation.cs#L307 .
It looks like QMakeQuery cannot properly query QMAKE_XSPEC. And that could be a reason why I could not add my qt version.
Hope this will help to resolve the issue.
Attachments
For Gerrit Dashboard: QTVSADDINBUG-887 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
340528,2 | Fix crash when calling qmake -query | dev | qt-labs/vstools | Status: MERGED | +2 | 0 |