【问题标题】:QT_MESSAGE_PATTERN not works over raspberry pi crosscompileQT_MESSAGE_PATTERN 不适用于树莓派交叉编译
【发布时间】:2020-01-09 06:31:58
【问题描述】:

我在构建环境中为 pc 和 raspberry 调整了 QT_MESSAGE_PATTERN。

当我在 pc 上运行时,debug 会在我调整后给我一个输出,但是当我在 raspberry pi (deployment) 上运行时,debug 会给我一个输出,就像我没有调整一样......

这里是调整;

QT_MESSAGE_PATTERN = "[(%{file}:%{line}) - %{message}"

【问题讨论】:

  • 你是怎么设置的???

标签: qt raspberry-pi cross-compiling qdebug


【解决方案1】:

为了工作,你需要做:

  1. qSetMessagePattern(QT_MESSAGE_PATTERN);
  2. qInstallMessageHandler(yourCustomMessageHandler);

【讨论】:

  • 到我需要添加这些的地方?
  • 对不起,回复晚了,但是当我尝试你的建议时,编译器给我一个错误,qInstallMessageHandler 没有匹配的功能......
【解决方案2】:

您需要设置消息模式;在int main()开头加上qputenv("QT_MESSAGE_PATTERN", QByteArray("[(%{file}:%{line}) - %{message}"));

试试这个 sn-p:

#include <QDebug>

#include <unistd.h>

int main(int /*argc*/, char* /*argv*/ [])
{
    qputenv("QT_MESSAGE_PATTERN", QByteArray("[(%{file}:%{line}) - %{message}"));

    while (1) {
        sleep(1);
        qDebug() << "Message";
    }
}

【讨论】:

  • 对不起,回复晚了,但我已经尝试了你的建议。它适用于 pc 端,但如果我部署到树莓派,我看不到我所期望的......
  • 请注意,我正在尝试将项目从 pc 部署到 raspberry pi,并且我希望在程序在 raspberry(已部署)上运行时在 pc 上看到这种模式...
  • 我每天都在嵌入式系统上工作,这就是要走的路!您是通过 QtCreator 部署应用程序吗?
  • 是的,我正在使用 QtCreator.... 但我想添加一些东西,我已经使用 buildroot 创建了操作系统... 操作系统上可能缺少某物吗?
  • 我建议在桌面上试试这个小sn-p。如果它不起作用,您必须检查一些项目/QtCreator 选项。如果可行,则继续使用嵌入式系统;我建议通过 QtCreator 交叉编译/部署,然后通过 SSH 连接从调试串行运行应用程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-19
  • 2013-12-12
  • 2021-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多