Qt5:阻止应用程序的另一个实例不再起作用......!

Qt5: Preventing another instance of the application doesn't work anymore...!

我在 Windows7 平台上使用 Qt5。
我的应用程序是某种侦听端口 8002 的 TCP 服务器,所以我只想要它的一个实例。
为了防止我的应用程序出现多个实例,我使用 (d) 下面的代码(在 Whosebug 上找到):

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSharedMemory sharedMemory;

    sharedMemory.setKey("TcpServer-Key");
    if(sharedMemory.create(1) == false)
    {
       QMessageBox::warning(NULL, "Warning!", "Another instance already running!");
       a.exit(); // exit already a process running
       return 0;
    }
...

好吧,在我将 Qt 升级到 5.5.1 之前,上面的代码曾经工作得很好。
现在,使用 Qt 5.5.1,我再也看不到警告消息框了!...当我尝试启动另一个实例时,运行 应用程序 disappears/stops 和一个新应用程序启动了! !!

求助,我该怎么办?但是不要告诉我切换回 Qt 5。4.x :(

备注:我忘了提及我在测试期间设置并使用了 msvc2012 编译器(不是 minGW,因为我无法为其构建 log4cxx)。

更新:这可能是与该 PC 上安装的防病毒软件有关的问题(在办公室,即 McAfee)?...现在我在家(AVG杀毒软件和 MinGW 编译器以及 log4cxx 已删除)我无法重现上述问题:(

终于 发现了问题所在...而且这不是防病毒软件的问题:)
当我将 Qt (Creator v3.6.0) 升级到最新版本 (5.5.1) 时,Tools->Options->Build&运行 中有一个设置名为 [Stop app before building]... 设置为 Current project 之类的。因此,Qt Creator 在启动新实例之前杀死了旧实例(!)。
将此选项设置为 None 解决了问题。
所以,看起来代码很好,防病毒也很好,但是从 Qt Creator 中启动应用程序在某种程度上仅限于一个实例:)

我决定分享这个,也许对其他人也有帮助。

备注 : 我再次检查,现在我可以确认:该设置以前不存在,至少在 Qt Creator v3.3.2 中不存在。