首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何配置CLion标准控制台输出?

如何配置CLion标准控制台输出?
EN

Stack Overflow用户
提问于 2017-01-24 23:51:18
回答 2查看 3.4K关注 0票数 2

问题: CLion没有输出任何控制台输出用于调试。

我将CLion与MingW编译器和cmake结合使用。无论我是否使用:

代码语言:javascript
复制
std::cout << "Testing" << std::endl;

或者:

代码语言:javascript
复制
printf("Testing");

我没有看到任何控制台输出。

尝试解决方案:

1:我检查了“运行”、“调试”、“终端”和"Cmake“。我试图编辑我的配置,但“调试”没有出现。

2:下一步,我转到设置->构建、执行、部署->CMake来编辑生成类型。我添加了Debug和RelWithDebInfo,但仍然没有效果。

3:我也尝试在Cmake中添加"-Debug“,但是我仍然没有输出。

4:我收到的最接近调试的东西是使用GDB查看断点处的变量值。这只适用于"RelWithDebInfo“一代。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-25 19:49:09

解决方案:

最后我弄明白了问题出在哪里。

我正在Windows上的CLion中开发Qt应用程序。您必须为要打印到的控制台输出指定控制台。

在主目录中的早期调用此控制台()函数,以便控制台提示符打开。现在,只要你跑

代码语言:javascript
复制
QDebug() << <string>; 

代码语言:javascript
复制
std::cout << <string> std::endl;

您将看到您的调试语句。希望这能帮助其他人解决同样的问题。

代码:

代码语言:javascript
复制
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

票数 3
EN

Stack Overflow用户

发布于 2021-03-09 10:51:18

有一个更简单的解决方案,不需要添加任何代码。只需在调试配置中添加以下环境变量:

代码语言:javascript
复制
QT_ASSUME_STDERR_HAS_CONSOLE=1

使用此方法,CLion在调试器启动时显示QDebug和QML的console.*()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41841036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档