QtCreator 从 Win 交叉编译 Raspberry Pi,发出远程运行应用程序

Posted

技术标签:

【中文标题】QtCreator 从 Win 交叉编译 Raspberry Pi,发出远程运行应用程序【英文标题】:QtCreator cross compiling Raspberry Pi from Win, issue to run app remotely 【发布时间】:2015-11-25 16:08:29 【问题描述】:

我正在设置环境,以便可以在 Windows 7 中构建 Raspberry Pi 应用程序。到目前为止,编译都很好,因此我可以将应用程序(手动)复制到 Pi 并按预期运行。

更进一步,我在远程运行我的应用程序 (gpioapp) 时遇到了困难。即使我看到 gpioapp 被复制到 Pi,QtCreator 也不会运行它。

QtCreator 应用程序输出中显示以下消息:

No protocol specified
gpioapp: cannot connect to X server :0.0
Application finished with exit code 1.

我可以做些什么来调查/解决这个问题?

【问题讨论】:

您能说明一下您是如何将这个应用程序部署到 pi 上的吗?是否通过ssh。如果是这种情况,可能意味着您的远程终端无法访问 X 服务器,需要使用 -Y 运行,或者需要在环境中正确设置 DISPLAY 变量。 我已经通过 QtCreator 菜单(工具>选项>设备)配置了 SSH 访问,添加了一个新设备。所以我认为这是用来部署的。除此之外,在 .pro 文件中,我添加了两行“target.path = /home/user/Downloads”和“INSTALLS += target”。另外,我想提一下,我可以不通过 QtCreator 远程运行应用程序。我可以提供更多信息吗? 剩下的唯一有用的东西,你想让应用程序出现在 pi 的屏幕上吗?还是被转发到你的开发机器的屏幕上? 我想看到应用转发到开发机屏幕。 【参考方案1】:

按照@Vality 建议正确设置$DISPLAY,我做了以下事情:

    鉴于我能够通过 SmarTTY 远程运行应用程序,因此我检查了 $DISPLAY 的值echo $DISPLAY

localhost:10.0

    回到 QtCreator>Projects(左侧)并在“运行环境”中将 DISPLAY(从 :0.0)更改为 :10.0

这解决了问题。

【讨论】:

以上是关于QtCreator 从 Win 交叉编译 Raspberry Pi,发出远程运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Hi3516开发笔记:Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境

Ubuntu 14 中 QtCreator [Yocto Image] 的交叉编译错误

Windows 上的 QtCreator 使用 CodeSourcery 工具链为 Linux ARM 交叉编译

Hi3516开发笔记:Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境

Hi3516开发笔记:Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境

如何建立Qt Creator交叉编译嵌入式Linux