我有一个创建控制台应用程序的项目,作为更大解决方案的一部分,但它不会在控制台上显示任何内容。我已检查/SUBSYSTEM:CONSOLE
是否已为调试和发布设置,并尝试std::cout
和printf
,都不会导致显示任何输出。
整个VS解决方案包含几个包含底层业务代码的静态库,以及三个可执行文件 - 主GUI (QT/OpenGL)
,单元测试(boost)和此控制台应用程序。一些库类使用Qt
(主要用于信号/插槽)。 GUI和单元测试都按预期运行(在测试的情况下,包括写入控制台输出)。
我还尝试在主函数的开头添加对AllocConsole
的调用 - 这会导致出现一个控制台窗口,但仍然没有写入 - 是的,我已经检查过代码正在调用cout
!
还有什么可能是错的?某个地方还有其他设置吗?或Qt
在没有告诉我的情况下重定向stdout
?
答案 0 :(得分:7)
事实证明,Visual Studio在/ SUBSYSTEM:CONSOLE设置中覆盖了Linker->命令行 - >附加选项页面中的/ SUBSYSTEM:WINDOWS - 删除它使其正常工作...