summaryrefslogtreecommitdiffstats
path: root/src/shared/winutils/utils.cpp
diff options
context:
space:
mode:
authorJiong Chang <xspeed1989@gmail.com>2019-11-17 17:04:43 +0800
committerJiong Chang <xspeed1989@gmail.com>2019-11-21 19:51:40 +0800
commit18422dbec0f4522e3c2bfaf05ebe5b4fca35be88 (patch)
treec0f79cd0513cbc0582f8e28f07934cb878cb925c /src/shared/winutils/utils.cpp
parentcf7a206800ec4cc6eb1e60e08487786e2fa26489 (diff)
windeployqt: Fix detection of MSVC runtime
Detect msvcrt.dll without version number Change-Id: Ifafdc79c1b6497e1f6695b9c69d9d9fdd6cc2d94 Reviewed-by: Yuhang Zhao <2546789017@qq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/shared/winutils/utils.cpp')
-rw-r--r--src/shared/winutils/utils.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/shared/winutils/utils.cpp b/src/shared/winutils/utils.cpp
index 263efbe18..9818d53f9 100644
--- a/src/shared/winutils/utils.cpp
+++ b/src/shared/winutils/utils.cpp
@@ -794,14 +794,13 @@ static inline MsvcDebugRuntimeResult checkMsvcDebugRuntime(const QStringList &de
for (const QString &lib : dependentLibraries) {
int pos = 0;
if (lib.startsWith(QLatin1String("MSVCR"), Qt::CaseInsensitive)
- || lib.startsWith(QLatin1String("MSVCP"), Qt::CaseInsensitive)) {
- pos = 5;
- } else if (lib.startsWith(QLatin1String("VCRUNTIME"), Qt::CaseInsensitive)) {
- pos = 9;
+ || lib.startsWith(QLatin1String("MSVCP"), Qt::CaseInsensitive)
+ || lib.startsWith(QLatin1String("VCRUNTIME"), Qt::CaseInsensitive)) {
+ int lastDotPos = lib.lastIndexOf(QLatin1Char('.'));
+ pos = -1 == lastDotPos ? 0 : lastDotPos - 1;
}
- if (pos && lib.at(pos).isDigit()) {
- for (++pos; lib.at(pos).isDigit(); ++pos)
- ;
+
+ if (pos) {
return lib.at(pos).toLower() == QLatin1Char('d')
? MsvcDebugRuntime : MsvcReleaseRuntime;
}