回复: 【求助】qt5.0 complie for Embed Linux
#11 [peterlin82 08-12 08:22]
前几天小弟也尝试编译Qt5.1 for embedded linux(ARM)。结果失败。
理由是Qt5.1的configure一定要加入-opengl es2。
要加入-opengl es2就要加入相关library。
但相关library又依赖其他library,
其他library又依赖其他library......
官方说Qt5.1是支持embedded linux(ARM)。
只是Qt5.1已出来这么久,小弟还没找到一篇完整编译Qt5.1 for embedded linux(ARM)成功的文章。
#12 回 8楼(faquir) 的帖子 [kotao_78 09-06 11:15]
这个似乎是有效果的。
#13 [labhome 10-12 10:13]
如果用的是 arm-linux-gnueabi-gcc 4.7.3 的版本, configure的时候加上-no-c++11,我就是这样编译成功的.
如果用的是arm-linux-gcc 4.5.1 的版本,就可以使用 -c++11,我用的是 mini6410,Qt5.1.1,不过跑起有点问题,combobox弹出再关闭下拉框时刷新不了,估计可能是Qt身的问题
#14 [labhome 10-12 11:56]
程序能正常跑,会有提示:
This plugin does not support propagaesSizeHints();
设置窗体 setWindowFlags(Qt::FramelessWindowHint); 之后,可能解决,但我的程序里用的QWidget比较多,太麻烦
This plugin does not suppot grabbing the keyhboard
在 Src\qtbase\src\gui\kernel\qplatformwindow.cpp 中定义了很多虚函数,setKeyboardGrabEnabled(bool grab),setMask(const QRegion ®ion),propagateSizeHints(); 在 Src\qtbase\src\platformsupport\fbconvenience\qfbwindow.cpp 中,QFbWindow 继承自 QPlatformWindow,但是 QFbWindow 没有实现上面的虚函数, QFbWindow 某些虚函数实现实际上又调用了 QFbScreen 中的同名方法,如果在QFbWindow 中用空函数来实现虚函数,对用 setMask(), propagateSizeHints()来说,没什么影响,但其它的没试过; QLinuxFbScreen 继承自 QFbScreen, 在Src\qtbase\src\plugins\platforms\linuxfb\qlinuxfbscreen.cpp 中,在 QLinuxFbScreen::initialize(...) 的方法中,我总是读不到显示屏的实际物理尺寸,后来只能给个固定值了事.
#15 [自强不吸 02-14 11:14]
哭了,我也是同样的问题