diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri
index 8bbf3614fce526315829d0388ccb6c251ca2a225..67025e67a499a272a701c0529bfc15321571eca5 100644
--- a/src/libs/utils/utils-lib.pri
+++ b/src/libs/utils/utils-lib.pri
@@ -86,14 +86,10 @@ SOURCES += $$PWD/environment.cpp \
     $$PWD/function.cpp \
     $$PWD/ansiescapecodehandler.cpp \
     $$PWD/execmenu.cpp \
-    $$PWD/completinglineedit.cpp
+    $$PWD/completinglineedit.cpp \
+    $$PWD/winutils.cpp
 
-win32 {
-    SOURCES += \
-        $$PWD/consoleprocess_win.cpp \
-        $$PWD/winutils.cpp
-    HEADERS += $$PWD/winutils.h
-}
+win32:SOURCES += $$PWD/consoleprocess_win.cpp
 else:SOURCES += $$PWD/consoleprocess_unix.cpp
 
 HEADERS += \
@@ -181,7 +177,8 @@ HEADERS += \
     $$PWD/ansiescapecodehandler.h \
     $$PWD/execmenu.h \
     $$PWD/completinglineedit.h \
-    $$PWD/logging.h
+    $$PWD/logging.h \
+    $$PWD/winutils.h
 
 FORMS += $$PWD/filewizardpage.ui \
     $$PWD/projectintropage.ui \
diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs
index 6d9731b9e8f0624cdc6542bfcf4bb9f9c05f2aa5..987adc0db71a801fba93830b9cbdee50b4c6edf2 100644
--- a/src/libs/utils/utils.qbs
+++ b/src/libs/utils/utils.qbs
@@ -176,6 +176,8 @@ QtcLibrary {
         "unixutils.h",
         "utils.qrc",
         "utils_global.h",
+        "winutils.cpp",
+        "winutils.h",
         "wizard.cpp",
         "wizard.h",
         "images/arrow.png",
@@ -208,8 +210,6 @@ QtcLibrary {
         condition: qbs.targetOS.contains("windows")
         files: [
             "consoleprocess_win.cpp",
-            "winutils.cpp",
-            "winutils.h",
         ]
     }
 
diff --git a/src/libs/utils/winutils.cpp b/src/libs/utils/winutils.cpp
index dd33502bdefc54ed162b4cfbe1a96cf5ccc5f085..ade5b0068d659450fa1f03244bec820dcc51e3bc 100644
--- a/src/libs/utils/winutils.cpp
+++ b/src/libs/utils/winutils.cpp
@@ -31,9 +31,11 @@
 #include "qtcassert.h"
 
 // Enable WinAPI Windows XP and later
+#ifdef Q_OS_WIN
 #undef _WIN32_WINNT
 #define _WIN32_WINNT 0x0501
 #include <windows.h>
+#endif
 
 #include <QString>
 #include <QVector>
@@ -47,6 +49,7 @@ namespace Utils {
 QTCREATOR_UTILS_EXPORT QString winErrorMessage(unsigned long error)
 {
     QString rc = QString::fromLatin1("#%1: ").arg(error);
+#ifdef Q_OS_WIN
     ushort *lpMsgBuf;
 
     const int len = FormatMessage(
@@ -58,6 +61,7 @@ QTCREATOR_UTILS_EXPORT QString winErrorMessage(unsigned long error)
     } else {
         rc += QString::fromLatin1("<unknown error>");
     }
+#endif
     return rc;
 }
 
@@ -76,6 +80,7 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
                                                 const QString &name,
                                                 QString *errorMessage)
 {
+#ifdef Q_OS_WIN
     // Resolve required symbols from the version.dll
     typedef DWORD (APIENTRY *GetFileVersionInfoSizeProtoType)(LPCTSTR, LPDWORD);
     typedef BOOL (APIENTRY *GetFileVersionInfoWProtoType)(LPCWSTR, DWORD, DWORD, LPVOID);
@@ -127,17 +132,26 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
         break;
     }
     return rc;
+#endif
+    Q_UNUSED(t);
+    Q_UNUSED(name);
+    Q_UNUSED(errorMessage);
+    return QString();
 }
 
-QTCREATOR_UTILS_EXPORT bool winIs64BitSystem()
+QTCREATOR_UTILS_EXPORT bool is64BitWindowsSystem()
 {
+#ifdef Q_OS_WIN
     SYSTEM_INFO systemInfo;
     GetNativeSystemInfo(&systemInfo);
     return systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64
             || systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64;
+#else
+    return false;
+#endif
 }
 
-QTCREATOR_UTILS_EXPORT bool winIs64BitBinary(const QString &binaryIn)
+QTCREATOR_UTILS_EXPORT bool is64BitWindowsBinary(const QString &binaryIn)
 {
        QTC_ASSERT(!binaryIn.isEmpty(), return false);
 #ifdef Q_OS_WIN32
diff --git a/src/libs/utils/winutils.h b/src/libs/utils/winutils.h
index 7cce2ebef46dccf85afe1d98e7dd32c0514484f8..9b5358791a45371027cfb4063f4412a64351f8f2 100644
--- a/src/libs/utils/winutils.h
+++ b/src/libs/utils/winutils.h
@@ -32,12 +32,6 @@
 
 #include "utils_global.h"
 
-#include <QProcess> // Q_PID (is PROCESS_INFORMATION*)
-
-QT_BEGIN_NAMESPACE
-class QString;
-QT_END_NAMESPACE
-
 namespace Utils {
 
 // Helper to format a Windows error message, taking the
@@ -50,10 +44,10 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t,
                                                 const QString &name,
                                                 QString *errorMessage);
 
-QTCREATOR_UTILS_EXPORT bool winIs64BitSystem();
+QTCREATOR_UTILS_EXPORT bool is64BitWindowsSystem();
 
 // Check for a 64bit binary.
-QTCREATOR_UTILS_EXPORT bool winIs64BitBinary(const QString &binary);
+QTCREATOR_UTILS_EXPORT bool is64BitWindowsBinary(const QString &binary);
 
 } // namespace Utils
 
diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp
index 388535eba5353b505f9c55ae01f8dd3f0fb6a389..fa52f971bb26d721cad6dfebe16cc03d6ca8dc7f 100644
--- a/src/plugins/debugger/cdb/cdbengine.cpp
+++ b/src/plugins/debugger/cdb/cdbengine.cpp
@@ -352,7 +352,6 @@ CdbEngine::CdbEngine(const DebuggerStartParameters &sp) :
     m_verboseLog(false), // Default CDB setting
     m_notifyEngineShutdownOnTermination(false),
     m_hasDebuggee(false),
-    m_cdbIs64Bit(false),
     m_wow64State(wow64Uninitialized),
     m_elapsedLogTime(0),
     m_sourceStepInto(false),
@@ -669,15 +668,10 @@ bool CdbEngine::launchCDB(const DebuggerStartParameters &sp, QString *errorMessa
         return false;
     }
 
-    m_cdbIs64Bit =
-#ifdef Q_OS_WIN
-            Utils::winIs64BitBinary(executable);
-#else
-            false;
-#endif
-    if (!m_cdbIs64Bit)
+    bool cdbIs64Bit = Utils::is64BitWindowsBinary(executable);
+    if (!cdbIs64Bit)
         m_wow64State = noWow64Stack;
-    const QFileInfo extensionFi(CdbEngine::extensionLibraryName(m_cdbIs64Bit));
+    const QFileInfo extensionFi(CdbEngine::extensionLibraryName(cdbIs64Bit));
     if (!extensionFi.isFile()) {
         *errorMessage = QString::fromLatin1("Internal error: The extension %1 cannot be found.\n"
                                             "If you build Qt Creator from sources, check out "
diff --git a/src/plugins/debugger/cdb/cdbengine.h b/src/plugins/debugger/cdb/cdbengine.h
index ff790032e5f767a9ea16ed7bdb0f3e6092f15553..6bca2573904451d7680aedef975aa6c29316c297 100644
--- a/src/plugins/debugger/cdb/cdbengine.h
+++ b/src/plugins/debugger/cdb/cdbengine.h
@@ -271,7 +271,6 @@ private:
     bool m_verboseLog;
     bool m_notifyEngineShutdownOnTermination;
     bool m_hasDebuggee;
-    bool m_cdbIs64Bit;
     enum Wow64State {
         wow64Uninitialized,
         noWow64Stack,
diff --git a/src/plugins/debugger/debuggeroptionspage.cpp b/src/plugins/debugger/debuggeroptionspage.cpp
index 6fe0a191350777e422e48b978de3c87054f7f44a..b56918398bf34c08fe44d5395c9935c7716b9560 100644
--- a/src/plugins/debugger/debuggeroptionspage.cpp
+++ b/src/plugins/debugger/debuggeroptionspage.cpp
@@ -139,11 +139,7 @@ void DebuggerItemConfigWidget::setItem(const DebuggerItem &item)
     QString text;
     QString versionCommand;
     if (item.engineType() == CdbEngineType) {
-#ifdef Q_OS_WIN
-        const bool is64bit = winIs64BitSystem();
-#else
-        const bool is64bit = false;
-#endif
+        const bool is64bit = is64BitWindowsSystem();
         const QString versionString = is64bit ? tr("64-bit version") : tr("32-bit version");
         //: Label text for path configuration. %2 is "x-bit version".
         text = tr("<html><body><p>Specify the path to the "
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index b88a1a6a26854930265b77081a3daa0aff4f804f..2ea8a67fa574b2210dc575b4a532f66d87b69eb6 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -106,9 +106,7 @@
 #include <utils/styledbar.h>
 #include <utils/proxyaction.h>
 #include <utils/statuslabel.h>
-#ifdef Q_OS_WIN
-#  include <utils/winutils.h>
-#endif
+#include <utils/winutils.h>
 
 #include <QComboBox>
 #include <QDockWidget>
@@ -588,13 +586,11 @@ public:
     // On a 64bit OS, prefer a 64bit debugger.
     static Kit *findUniversalCdbKit()
     {
-#ifdef Q_OS_WIN
-        if (Utils::winIs64BitSystem()) {
+        if (Utils::is64BitWindowsSystem()) {
             CdbMatcher matcher64(64);
             if (Kit *cdb64Kit = KitManager::find(matcher64))
                 return cdb64Kit;
         }
-#endif
         CdbMatcher matcher;
         return KitManager::find(matcher);
     }
diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp
index 224bff04a5310ab1a8b301255602d5b5e3a399fb..91bd58cc1c99458d0e443b2b5797de4d99e13fff 100644
--- a/src/plugins/debugger/debuggerrunner.cpp
+++ b/src/plugins/debugger/debuggerrunner.cpp
@@ -40,10 +40,7 @@
 #include "debuggerstringutils.h"
 #include "debuggertooltipmanager.h"
 #include "breakhandler.h"
-
-#ifdef Q_OS_WIN
-#  include "shared/peutils.h"
-#endif
+#include "shared/peutils.h"
 
 #include <projectexplorer/localapplicationrunconfiguration.h> // For LocalApplication*
 #include <projectexplorer/environmentaspect.h> // For the environment
diff --git a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp
index a2e6a07b5c15fd105c6b0d43c6edfb91651584f4..032245eeb5affba6e4e499ede5bd10ae13182397 100644
--- a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp
+++ b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp
@@ -34,6 +34,7 @@
 
 #include <QCoreApplication>
 #include <QDir>
+#include <QProcess>
 
 #ifdef Q_OS_WIN
 #define _WIN32_WINNT 0x0502
@@ -123,10 +124,10 @@ void DesktopProcessSignalOperation::interruptProcessSilently(int pid)
 #ifdef Q_OS_WIN
     enum SpecialInterrupt { NoSpecialInterrupt, Win32Interrupt, Win64Interrupt };
 
-    bool is64BitSystem = Utils::winIs64BitSystem();
+    bool is64BitSystem = Utils::is64BitWindowsSystem();
     SpecialInterrupt si = NoSpecialInterrupt;
     if (is64BitSystem)
-        si = Utils::winIs64BitBinary(m_debuggerCommand) ? Win64Interrupt : Win32Interrupt;
+        si = Utils::is64BitWindowsBinary(m_debuggerCommand) ? Win64Interrupt : Win32Interrupt;
     /*
     Windows 64 bit has a 32 bit subsystem (WOW64) which makes it possible to run a
     32 bit application inside a 64 bit environment.
@@ -167,7 +168,7 @@ GDB 32bit | Api             | Api             | N/A             | Win32
                                      + Utils::winErrorMessage(GetLastError()));
             break;
         }
-        bool creatorIs64Bit = Utils::winIs64BitBinary(qApp->applicationFilePath());
+        bool creatorIs64Bit = Utils::is64BitWindowsBinary(qApp->applicationFilePath());
         if (!is64BitSystem
                 || si == NoSpecialInterrupt
                 || si == Win64Interrupt && creatorIs64Bit
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
index d7c1a8543f401d7fc0cd6e348efe3ad7d8233797..eceab59ca2da767e14249aedbc3a9da22ca8a370 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
@@ -43,10 +43,7 @@
 
 #include <utils/fileutils.h>
 #include <utils/qtcprocess.h>
-
-#ifdef Q_OS_WIN
 #include <utils/winutils.h>
-#endif
 
 using namespace Core;
 using namespace QmlProjectManager::Internal;
diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp
index bd8f045762ff14c64169b0685d0732881fadb02c..f5b9c68acd07411a6a1c9fffe9a60e691796c4e7 100644
--- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp
+++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp
@@ -33,10 +33,7 @@
 #include "screenshotcropper.h"
 
 #include <utils/pathchooser.h>
-
-#ifdef Q_OS_WIN
 #include <utils/winutils.h>
-#endif
 
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/documentmanager.h>
diff --git a/src/plugins/valgrind/valgrindprocess.cpp b/src/plugins/valgrind/valgrindprocess.cpp
index cb0e9e62349a962672eb5fcd848f9502d192cc2f..de746324415dbe44273e981a9f052593cbb6704f 100644
--- a/src/plugins/valgrind/valgrindprocess.cpp
+++ b/src/plugins/valgrind/valgrindprocess.cpp
@@ -35,11 +35,6 @@
 #include <QFileInfo>
 
 #include <utils/qtcassert.h>
-#include <utils/winutils.h>
-
-#ifdef Q_OS_WIN
-#    include <qt_windows.h>
-#endif
 
 namespace Valgrind {
 
diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp
index 989649757ee3130d2b5043c49b9d148425bfc596..37297cde4e64b78500ae483eaffe37f6978fec3a 100644
--- a/src/plugins/welcome/welcomeplugin.cpp
+++ b/src/plugins/welcome/welcomeplugin.cpp
@@ -46,10 +46,6 @@
 #include <utils/iwelcomepage.h>
 #include <utils/networkaccessmanager.h>
 
-#ifdef Q_OS_WIN
-#include <utils/winutils.h>
-#endif
-
 #include <QScrollArea>
 #include <QDesktopServices>
 #include <QPainter>