天嵌 ARM开发社区

 找回密码
 注册
查看: 9657|回复: 11

QT4.7.4移植到开发板后不能运行两个程序

[复制链接]
supil 发表于 2013-7-10 14:53:30 | 显示全部楼层 |阅读模式
本帖最后由 supil 于 2013-7-23 13:07 编辑

QT4.7.4 移植到开发板,不能运行两个程序,第一个程序以qws参数启动,第二个程序不加qws报错Did not receive a connection event from the qws server ,以前用QT4.5是完全没问题的,不知道大家有没有遇到这种问题,求救。。。

[root@EmbedSky /]# tqcalculator -qws &                                          
此时tqcalculator程序在后台正常运行                                                                            
[root@EmbedSky /]# tqledtest                                             
Did not receive a connection event from the qws server                          
Aborted                                                                        

如果第二个程序也加qws,也可以启动成功,但与第一个程序有冲突,会争用输入设备,界面混乱了。。。
一般QT不都是第一个程序启动加qws,其它的都不用加的吗,把QT库换回QT4.5,又正常,不知道4.5和4.7.4有什么区别,大家有没有遇到这种问题,求救。。。

 楼主| supil 发表于 2013-7-10 14:59:53 | 显示全部楼层
看了很多有关QT移植的文章,都是用qws启动一个QT程序来证明移植成功,那么第二个程序怎么启动呢,不加qws能起来吗??
TQ-lkp 发表于 2013-7-10 16:23:29 | 显示全部楼层
同时启动两个独立的QT程序肯定会抢资源的。
你可以启动一个程序,再由第一个程序调用QProcess来启动第二个程序,不用加qws参数
寻梦的感觉 发表于 2013-7-10 16:43:42 | 显示全部楼层
QT4.8.4版本问题一样,同意TQ-lkp的说法
 楼主| supil 发表于 2013-7-11 09:23:49 | 显示全部楼层
TQ-lkp 发表于 2013-7-10 16:23
同时启动两个独立的QT程序肯定会抢资源的。
你可以启动一个程序,再由第一个程序调用QProcess来启动第二个 ...

我最初也是用QT4.8.4来测试的,发现上面的问题,以为是4.8.4的问题,后来又换成了QT4.7,还是一样的问题,但是换回QT4.5,完全正常。莫非QT4.5后的版本处理有所不同,只能在第一个程序中用QProcess来启动第二个程序,不能直接在终端中启动??

如果这样的话,TQ210出厂镜像中带的Linux PDA就不能切换到QT4.5以后的版本了,否则tqpda程序启动后,点击里面的程序是无法启动的。tqpda是否已经有了兼容QT4.8的版本了??
TQ-lkp 发表于 2013-7-15 11:30:14 | 显示全部楼层
本帖最后由 TQ-lkp 于 2013-7-15 11:30 编辑

所有 QT的版本应该都不支持同时运行两个独立的应用程序,只能通过QProcess的方式来启动第二个
我们之前也考虑过使用4.8的Qt版本,但发现有些不稳定,后来又换成了4.5
我觉得如果你不是非要使用4.8中的新特性,还是用4.5的比较稳定
 楼主| supil 发表于 2013-7-15 17:03:10 | 显示全部楼层
使用QT4.7或QT4.8库独立运行tqsocketdebugger,服务器端监听成功,客户端连接服务器也显示成功,但是发送数据后服务器端没有收到,后来在tqsocketdebugger的源码里加了trace跟踪,发现有客户端连接时没有触发newConnection(),不知道版主有没有遇到这种情况?
//有客户端连接
void TQSocketDebugger::newConnection()
{
    cout<<"newConnection arrive"<<endl;
    ...
}
以书入法 发表于 2013-8-5 15:56:25 | 显示全部楼层
本帖最后由 以书入法 于 2013-8-5 15:58 编辑
supil 发表于 2013-7-15 17:03
使用QT4.7或QT4.8库独立运行tqsocketdebugger,服务器端监听成功,客户端连接服务器也显示成功,但是发送数据 ...

您好,我也有这种情况,在pc上测试没问题,放板子上就出问题。板子上跑一个tcp服务器(接收简单字符串),pc上运行tcp客户端给服务器发数据,但是板子上也是没触发newConnection()。不知道什么原因...
pc:fedora 18(32位)
arm-linux-gcc:4.4.6
qt :4.8.4

板子:TQ210
qte  :qt-4.8.4
TQ-lkp 发表于 2014-1-13 11:22:54 | 显示全部楼层
以书入法 发表于 2013-8-5 15:56
您好,我也有这种情况,在pc上测试没问题,放板子上就出问题。板子上跑一个tcp服务器(接收简单字符串) ...

建议使用qt4.5,4.8的我们测试发现有问题
以书入法 发表于 2014-1-14 08:05:47 | 显示全部楼层
TQ-lkp 发表于 2014-1-13 11:22
建议使用qt4.5,4.8的我们测试发现有问题

看来也跟qt4.8没支持好这个arm有关...
zjhsucceed_329 发表于 2014-3-6 00:36:07 | 显示全部楼层
我用qt-4.7.3在TQ2440板子上运行tcp服务器就可以正常监听,但在TQ210上就监听不到,但PC上的网络调试助手显示已连接?
onllylizhen 发表于 2015-1-9 16:11:00 | 显示全部楼层
我有一个问题,我第二个程序用第一个用QProcess不加-qws启动不了。提示连接不到qws.
Did not receive a connection event from the qws server        该如何处理啊,是在编译QT483时要特意添加什么配置吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-11-1 09:28 , Processed in 1.062500 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表