问题: CLion没有输出任何控制台输出用于调试。
我将CLion与MingW编译器和cmake结合使用。无论我是否使用:
std::cout << "Testing" << std::endl;
或者:
printf("Testing");
我没有看到任何控制台输出。
尝试解决方案:
1:我检查了“运行”、“调试”、“终端”和"Cmake“。我试图编辑我的配置,但“调试”没有出现。
2:下一步,我转到设置->构建、执行、部署->CMake来编辑生成类型。我添加了Debug和RelWithDebInfo,但仍然没有效果。
3:我也尝试在Cmake中添加"-Debug“,但是我仍然没有输出。
4:我收到的最接近调试的东西是使用GDB查看断点处的变量值。这只适用于"RelWithDebInfo“一代。
发布于 2017-01-25 19:49:09
解决方案:
最后我弄明白了问题出在哪里。
我正在Windows上的CLion中开发Qt应用程序。您必须为要打印到的控制台输出指定控制台。
在主目录中的早期调用此控制台()函数,以便控制台提示符打开。现在,只要你跑
QDebug() << <string>;
或
std::cout << <string> std::endl;
您将看到您的调试语句。希望这能帮助其他人解决同样的问题。
代码:
void Console()
{
AllocConsole();
FILE *pFileCon = NULL;
pFileCon = freopen("CONOUT$", "w", stdout);
COORD coordInfo;
coordInfo.X = 130;
coordInfo.Y = 9000;
SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE), coordInfo);
SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE),ENABLE_QUICK_EDIT_MODE| ENABLE_EXTENDED_FLAGS);
}
资料来源:
我在这里找到了一个解决方案:0
发布于 2021-03-09 10:51:18
有一个更简单的解决方案,不需要添加任何代码。只需在调试配置中添加以下环境变量:
QT_ASSUME_STDERR_HAS_CONSOLE=1
使用此方法,CLion在调试器启动时显示QDebug
和QML的console.*()
。
https://stackoverflow.com/questions/41841036
复制相似问题