我想在Qt Creator中创建下面的简单控制台应用程序:
#include <iostream>
int main(int argc, char* argv[])
{
std::cout << "Hello WOrld";
return 0;
}
我在SO上看到了一些可能的重复项,我在“运行设置”中勾选了“在终端中运行”选项。控制台窗口会在CTRL + R上弹出,但它不会显示“Hello World”,只需“按Enter即可退出”。
以上是创建一个空项目。
我尝试创建一个“Qt控制台应用程序”,它生成下面的代码。这确实很好,但我想要上面的简单非Qt版本。
#include <QtCore/QCoreApplication>
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
std::cout << "Hello World";
return a.exec();
}
答案 0 :(得分:2)
除了勾选“在终端中运行”,你需要在.pro文件中添加“CONFIG + = console”(如果你使用的是qmake)。
TEMPLATE = app
CONFIG += console
SOURCES += main.cpp
答案 1 :(得分:1)
经过很长一段时间再次尝试Qt之后,现在可以了。项目文件默认为“CONFIG - = qt”。我不确定当时是否会解决这个问题,但这是我能看到的唯一区别。
完整的.pro文件:
TEMPLATE = app
CONFIG += console
CONFIG -= qt
SOURCES += main.cpp
答案 2 :(得分:0)
我可以看到的唯一错误是该流未刷新(请将std :: cout行更改为:
std::cout << "Hello World" << std::endl;
然而,这不太可能是你遇到的问题,尽管我在http://www.richelbilderbeek.nl/CppQtHelloWorldConsole.htm发现的以下示例暗示它确实是一个缓冲处理问题,其中QtCreator做出一些关于缓冲的假设。 (注意,该url添加了一个std :: cin.get()调用,这会强制应用程序暂停,因此,您当然应该看到一些输出)。
答案 3 :(得分:0)
如果您偶然发现了这个帖子,因为您的应用程序会立即退出并且控制台只显示&#34;按Enter键退出&#34;:
这是您的应用程序的行为方式,如果您从QtCreator启动它并且它无法找到依赖的DLL(顺便说一下,这非常无用)。要找出究竟缺少的内容,您可以在没有QtCreator的情况下启动应用程序。依赖DLL必须位于此处列出的位置之一http://msdn.microsoft.com/de-de/library/7d83bc18.aspx。