我在Windows上使用Qt5.2(git)和MSVC13。如果我构建任何应用程序(甚至是模板),它总是在cmd.exe窗口中打开。我尝试了不同的Qt版本和不同的编译器(甚至是MinGW),但我总是遇到同样的问题。 但是,如果我使用QtDesigner中的绿色播放按钮启动应用程序,它将在没有cmd窗口的情况下打开。 正如建议here我尝试“CONFIG - = console”没有效果。我也不使用testlib。 在我的qmake.conf中,我看到“QMAKE_LFLAGS_WINDOWS = / SUBSYSTEM:WINDOWS”这一行
这取决于我放在应用程序目录中的dll文件吗? QtDesigner不会将任何dll复制到build文件夹,但它会设置一些环境变量。要从单独的文件夹运行应用程序,我将相应的dll从Qt lib文件夹复制到application exe文件夹中。
对这种奇怪行为的任何想法?
答案 0 :(得分:2)
在MSVC 2013中,转到项目属性/链接器并从以下位置更改:
/SUBSYSTEM:CONSOLE
要:
/SUBSYSTEM:WINDOWS
它对我有用。
答案 1 :(得分:2)
好的,这需要一段时间,但我终于找到了解决方案: Hide console of Windows Application
我不得不更换主入口函数:
替换以下代码:
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 );
}
谢谢大家!
答案 2 :(得分:0)
是否选中了run in terminal
复选框?