diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 454c0d7b01f..e9feec7f2a4 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -526,8 +526,11 @@ Tasks BaseQtVersion::validateKit(const Kit *k) qtAbiString.append(' '); qtAbiString.append(qtAbi.toString()); - if (!fullMatch) - fullMatch = supportedAbis.contains(qtAbi); + if (!fullMatch) { + fullMatch = supportedAbis.contains(qtAbi) + && qtAbi.wordWidth() == targetAbi.wordWidth() + && qtAbi.architecture() == targetAbi.architecture(); + } if (!fuzzyMatch && !fullMatch) { fuzzyMatch = Utils::anyOf(supportedAbis, [&](const Abi &abi) { return qtAbi.isCompatibleWith(abi); diff --git a/src/plugins/qtsupport/qtkitinformation.cpp b/src/plugins/qtsupport/qtkitinformation.cpp index d6aca91001a..153f43ac0f1 100644 --- a/src/plugins/qtsupport/qtkitinformation.cpp +++ b/src/plugins/qtsupport/qtkitinformation.cpp @@ -224,8 +224,11 @@ void QtKitAspect::fix(Kit *k) QList possibleTcs = ToolChainManager::toolChains([version](const ToolChain *t) { if (!t->isValid() || t->language() != ProjectExplorer::Constants::CXX_LANGUAGE_ID) return false; - return Utils::anyOf(version->qtAbis(), - [t](const Abi &qtAbi) { return t->supportedAbis().contains(qtAbi); }); + return Utils::anyOf(version->qtAbis(), [t](const Abi &qtAbi) { + return t->supportedAbis().contains(qtAbi) + && t->targetAbi().wordWidth() == qtAbi.wordWidth() + && t->targetAbi().architecture() == qtAbi.architecture(); + }); }); if (!possibleTcs.isEmpty()) { // Prefer exact matches.