Windows Qt5打开带有gui应用程序的控制台

Windows Qt5打开带有gui应用程序的控制台,windows,visual-studio,qt,console,Windows,Visual Studio,Qt,Console,我在Windows上使用Qt5.2(git)和MSVC13。如果我构建任何应用程序(甚至是模板),它总是在cmd.exe窗口中打开。我尝试了不同的Qt版本和不同的编译器(甚至是MinGW),但我总是遇到同样的问题。 但是,如果我使用QtDesigner中的绿色播放按钮启动应用程序,它将在没有cmd窗口的情况下打开。 正如建议的那样,我尝试了“CONFIG-=console”,但没有效果。我也不使用testlib。 在qmake.conf中,我看到行“qmake\u LFLAGS\u WINDOW

我在Windows上使用Qt5.2(git)和MSVC13。如果我构建任何应用程序(甚至是模板),它总是在cmd.exe窗口中打开。我尝试了不同的Qt版本和不同的编译器(甚至是MinGW),但我总是遇到同样的问题。 但是,如果我使用QtDesigner中的绿色播放按钮启动应用程序,它将在没有cmd窗口的情况下打开。 正如建议的那样,我尝试了“CONFIG-=console”,但没有效果。我也不使用testlib。 在qmake.conf中,我看到行“qmake\u LFLAGS\u WINDOWS=/SUBSYSTEM:WINDOWS”

这是否取决于我放在应用程序目录中的dll文件?QtDesigner不会将任何DLL复制到生成文件夹,但会设置一些环境变量。要从单独的文件夹运行应用程序,我将相应的DLL从Qt lib文件夹复制到applications exe文件夹中


对这种奇怪的行为有什么看法吗?

是否选中了“在终端中运行”复选框


在MSVC 2013中,转到您的项目属性/链接器并更改为:

/SUBSYSTEM:CONSOLE
致:

这对我有用


好的,这需要一段时间,但我最终在这里找到了解决方案:

我必须更换主输入功能:

替换以下代码:

int main(int argc, char *argv[])
{
     QApplication app(argc, argv);
     // your code*
}


谢谢大家

你会使用qdebug吗?不,我不这么认为,它也会出现在模板项目和使用dependency walker的发布dll中-你可能在某个地方有“全局”dll。我没有MSVC13,所以我无法对此进行调查。您使用的是Express edition还是全功能版?我使用的是MSVC13的全功能版,但是我只使用MSVC编译器,而使用的是作为IDE的QtCreator。PS:请在我之前的帖子中将QtDesigner替换为QtCreator;)否,未检查试运行终端。然而,我正经历着完全相反的效果。如果我从QTDesigner启动程序,它不会打开控制台。但是,如果我从windows资源管理器作为一个独立程序启动它,它会启动控制台。@daydandnight你看了吗?是的,谢谢,我厌倦了我原来帖子中的建议,但不幸的是问题仍然存在。我试着设置“QMAKE\u LFLAGS\u windows=/SUBSYSTEM:windows”单独标记为来自QtDesigner的附加make标记,但这与使用MSVC或QtCreator没有区别?你在问题中提到了MSVC。我使用MSVC13编译器和QtCreator作为IDE。然而,现在的问题在于不同的编译器。我使用的是SVN版本的Qt,这可能是个问题吗?在我的旧设置中,带有MSVC12的Qt预编译版本没有出现此问题。
int main(int argc, char *argv[])
{
     QApplication app(argc, argv);
     // your code*
}
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char*, int nShowCmd)
{
    int argc = 0;
    QApplication app( argc, 0 );
 }