fsu0413:没见过这样的操作。
你说的具体是哪个文件?我有空可以去看看。
顺便这种定义应该是不会在pri里加yyy.cpp的吧。。。。
 (2020-04-17 12:07) 
 
下面是qt5.12.8中的部分,其他版本应该也差不多是这样
qtbase\src\corelib\thread\thread.pri如下 
    SOURCES += \
       thread/qmutex.cpp \
...
    win32 {
        SOURCES += \
            thread/qmutex_win.cpp \
            thread/qwaitcondition_win.cpp
    } else {
...
qtbase\src\corelib\thread\qmutex.cpp如下:
#ifdef QT_LINUX_FUTEX
#  include "qmutex_linux.cpp"
#elif defined(Q_OS_MAC)
#  include "qmutex_mac.cpp"
#elif defined(Q_OS_WIN)
#  include "qmutex_win.cpp"
#else
#  include "qmutex_unix.cpp"
#endif
...
很奇怪msvc编译的时候没有报错,mingw编译的时候出现multiple definition错误。
不知是不是mingw编译的时候我禁用了预编译头的原因?