查看完整版本: [-- QT5.3 On ARM Board --]

QTCN开发网 -> Qt嵌入式开发 -> QT5.3 On ARM Board [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

<<   1   2  >>  Pages: ( 2 total )

jnny_cn 2014-05-21 21:14

QT5.3 On ARM Board

qt5.3 今天发布了
交叉编译了3个多小时,在ARM板上正常运行^____________^
[attachment=12109]

jnny_cn 2014-05-21 21:15
使用默认选项
经测试bluetooth可用

沙加 2014-05-21 21:18
我编译5.2的时候,没有标题栏,这是什么?就是说没有最大化 最小化 和关闭!!!!

沙加 2014-05-21 21:21
QQ 2985701120 方便交流下吗???

jnny_cn 2014-05-21 21:27
沙加:我编译5.2的时候,没有标题栏,这是什么?就是说没有最大化 最小化 和关闭!!!! (2014-05-21 21:18) 

不知你运行的是什么窗口管理器?
我运行的是matchbox

另外我编译的版本是基于x-server的desktop版

彩阳 2014-05-21 23:47
效果不错!

airqj 2014-05-22 09:42
配置可否分享一下?

jnny_cn 2014-05-22 10:27
qt530:
./configure -opensource -confirm-license -nomake examples -nomake tests -no-qml-debug -qt-xcb -prefix /usr

这个配置前提是已经交叉编译好xorg

liudianwu 2014-05-22 12:20
牛人啊!

jnny_cn 2014-05-23 09:08
先交叉编译x11,在交叉编译matchbox

内容来自[短消息]

jnny_cn 2014-05-23 09:10
)   下载并安装scratchbox 
连接:h t t p://www.scratchbox.org/ 以上网的文档里有教程也有相关下载 
安装好scratchbox建立帐户并设定好新的target 
 
2)  接下来的操作都在scratchbox中 
下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中 
按照以下顺序编译: 
 
cd zlib-1.2.5 
make distclean 
./configure --shared --prefix=/usr 
make 
make install 
cd .. 
 
cd glib-2.26.0 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd libpng-1.2.44 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd jpeg-7 
make distclean 
./configure --enable-shared --enable-static --prefix=/usr 
make 
make install 
cd .. 
 
cd tiff-3.9.4 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd expat-2.0.0 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd freetype-2.4.4 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd atk-1.32.0 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd libxml2-2.7.8 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd fontconfig-2.8.0 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd pixman-0.21.2 
make distclean 
./configure --disable-arm-neon --prefix=/usr  
make 
make install 
cd .. 
 

cd sqlite-3.7.4 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd tslib-1.0 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd links-1.00 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd openssl-1.0.0c 
make distclean 
./Configure --prefix=/usr --openssldir=/usr/openssl linux-armv4 
make 
make install 
cd .. 
 
cd Python-2.7 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
执行 ldconfig

3)编译X11与相关依赖库 h t t p://www.x.org/releases/X11R7.6/src/ 
在以上网之中把除了everything目录外其他目录中的都下下来(不是都必要,但全下下来省心)并保持原目录结构不变,解压缩,这里假设相关目录督保存在X11R76这个目录下 
 
执行:export PYTHON=/usr/bin/python2.7 
 

1)进入util目录 
    进入util-macros-1.11.0目录 
        make distclean 
        ./configure --prefix=/usr 
        make 
        make install 
         
2)进入font目录 
    进入font-util-1.2.0目录 
    make distclean 
    ./configure --prefix=/usr 
    make 
    make install 
     
3)进入proto目录 
    分别进入以下目录,执行以下命令 
    make distclean 
    ./configure --prefix=/usr 
    make 
    make install     
     
    目录列表(省略版本号) 
    bigreqsproto 
    compositeproto 
    damageproto 
    dmxproto 
    dri2proto 
    fixesproto 
    fontsproto 
    glproto 
    inputproto 
    kbproto 
    randrproto 
    recordproto 
    renderproto 
    resourceproto 
    scrnsaverproto 
    videoproto 
    x11proto 
    xcmiscproto 
    xextproto 
    xf86bigfontproto 
    xf86dgaproto 
    xf86driproto 
    xf86vidmodeproto 
    xineramaproto 
    xcb(在xcb目录中) 
     
4)进入lib目录 
    分别进入以下目录,执行以下命令 
    make distclean 
    ./configure --prefix=/usr 
    make 
    make install     
     
    目录列表(省略版本号) 
    libxtrans 
    libXau 
    libXdmcp 
     
    pthread-stubs(在xcb目录中) 
    libxcb(在xcb目录中) 
    util(在xcb目录中) 
     
    libX11 
    libXext 
    libdmx 
    libfontenc 
    libFS 
    libICE 
    libSM 
    libXt 
    libXmu 
    libXpm 
    libXaw 
    libXfixes 
    libXcomposite 
    libXrender 
    libXdamage 
    libXcursor 
    libXfont 
    libXft 
    libXi 
    libXinerama 
    libxkbfile 
    libXrandr 
    libXRes 
    libXScrnSaver 
    libXtst 
    libXv 
    libXvMC 
    libXxf86dga 
    libXxf86vm 
    libpciaccess 
     
5)进入data目录 
    进入xbitmaps-1.1.1目录 
    make distclean 
    ./configure --prefix=/usr 
    make 
    make install 
     
6)进入app目录 
    分别进入以下目录,执行以下命令 
    make distclean 
    ./configure --prefix=/usr 
    make 
    make install 
     
    目录列表(省略版本号) 
    bdftopcf 
    iceauth 
    luit 
    mkfontdir 
    mkfontscale 
    sessreg 
    setxkbmap 
    x11perf 
    xauth 
    xbacklight 
    xcmsdb 
    xcursorgen 
    xdpyinfo 
    xev 
    xhost 
    xinit 
    xinput 
    xkbcomp 
    xkbevd 
    xkbutils 
    xkill 
    xlsatoms 
    xmodmap 
    xprop 
    xrandr 
    xrdb 
    xrefresh 
    xset 
    xsetroot 
    xvinfo 
    xwd 
    xwininfo 
    xwud 
     
7)进入xserver目录 
    进入xorg-server-1.9.3目录 
    make distclean 
    ./configure --disable-glx --enable-dri=no --enable-dri2=no --prefix=/usr 
    make 
    make install 
     
8)进入driver目录 
    分别进入以下目录,执行以下命令 
    make distclean 
    ./configure --prefix=/usr 
    make 
    make install 
     
    目录列表(省略版本号) 
    xf86-input-evdev 
    xf86-input-keyboard 
    xf86-input-mouse 
    xf86-input-void 
    xf86-input-tslib 
     
    xf86-video-fbdev 
     
至此xorg server 编译完毕

4)编译gtk与相关依赖库 
接下来的操作都在scratchbox中 
下载以依赖下库(不都是必须,可根据需要裁减),解压到一个目录中 
按照以下顺序编译: 
 
ldconfig 
 
cd cairo-1.10.0 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd pango-1.28.3 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd gtk+-2.20.1 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd libiconv-1.13.1 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd gtk-engines-2.20.1 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd libmatchbox-1.9 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
cd matchbox-window-manager-1.2 
make distclean 
./configure --prefix=/usr 
make 
make install 
cd .. 
 
ldconfig 
 
至此gtk+编译完成 

以上编译选项可在armv5,armv6下运行 
 
另外如果是编译armv4架构的要在所有的编译选项处加上-march=armv4t 
 
另外如果是编译armv7架构的要在所有的编译选项处加上-mthumb -march=armv7-a

沙加 2014-05-23 09:28
jnny_cn:)   下载并安装scratchbox 
连接:h t t p://www.scratchbox.org/ 以上网的文档里有教程也有相关下载 
安装好scratchbox建立帐户并设定好新的target 
 
2)  接下来的操作都在scratchbox中 
....... (2014-05-23 09:10) 

我用的ltib,我已经在里面配置编译了xorg,编译成功了,但是不知道如何启动xorg。我启动了一个xfb...服务(具体名字忘了,是以xfb开头的),此时我在运行matchbox-destop,会出现一个界面,但是好像无法触屏啊,可以看到一个“X”号在屏幕中间,屏幕最下方还能显示时间。。。


jnny_cn 2014-05-23 09:50
按说你能看到X就说明x-server正常启动了

jnny_cn 2014-05-23 09:52
以下是我起动X的rcS部分

export HOME=/root
export DISPLAY=:0

X -nolisten tcp&
sleep 1

#matchbox-window-manager &

#gtk-demo&

jnny_cn 2014-05-23 10:05
export HOME=/root
export DISPLAY=:0

X -nolisten tcp&
sleep 1

matchbox-window-manager &

gtk-demo&

dragon_fly 2014-05-23 10:53
jnny_cn:)   下载并安装scratchbox 
连接:h t t p://www.scratchbox.org/ 以上网的文档里有教程也有相关下载 
安装好scratchbox建立帐户并设定好新的target 
 
2)  接下来的操作都在scratchbox中 
....... (2014-05-23 09:10) 

需要编译这么多,学习下

wjian10 2014-05-24 08:52
好东西,出差回去研究一下。

青春岁月 2014-05-26 08:46
大牛,能说一下!你的是什么ARM平台吗?

jnny_cn 2014-05-26 11:31
青春岁月:大牛,能说一下!你的是什么ARM平台吗? (2014-05-26 08:46) 

s5pv210

实际上适用所有armv5

这只是个文件系统

不同芯片区别大的主要是boot linux-kernel,

文件系统只有依附芯片的内核模块会不同,

其余可以经过少量适配,就可以通用

jnny_cn 2014-05-26 15:04
沙加:我编译5.2的时候,没有标题栏,这是什么?就是说没有最大化 最小化 和关闭!!!! (2014-05-21 21:18) 

使用 ./xxx -platofrm linuxfb 就是没有标题栏

使用 ./xxx -platform xcb 就有标题栏

以上实机测试

chenzilin 2014-05-30 17:05

peterlin82 2014-06-05 21:23
大哥您真的是神人。
不过小弟没看到Bluez蓝芽部份的设定。
不知您的蓝芽为什么能动?

jnny_cn 2014-06-05 21:30
peterlin82:大哥您真的是神人。
不过小弟没看到Bluez蓝芽部份的设定。
不知您的蓝芽为什么能动? (2014-06-05 21:23) 

默认的configure里面就会有bluetooth的设置

如果你的系统里已经有了dbus的话,qt就会使能bluetooth的模块

所以想使用bluetooth先要编译好dbus

jnny_cn 2014-06-05 21:32
peterlin82:大哥您真的是神人。
不过小弟没看到Bluez蓝芽部份的设定。
不知您的蓝芽为什么能动? (2014-06-05 21:23) 

我的配置里只是禁止了一些demo ,doc,qml模块的编译,其他基本使用默认的配置

ppa2001 2014-06-09 22:58
楼主你好,我安装你的编译方式,在Ubuntu14下编译了出来,但QT creator的界面,显示有乱码。
求指点下,而且现在编译的电脑上运行的程序,怎么配置为ARM版本的?
[attachment=12168]

real_akang 2014-06-12 17:09
jnny_cn:qt530:
./configure -opensource -confirm-license -nomake examples -nomake tests -no-qml-debug -qt-xcb -prefix /usr
这个配置前提是已经交叉编译好xorg (2014-05-22 10:27) 

我是新手,想请教一下使用xorg而不是直接在framebuffer上的好处是什么,xorg会不会要求更高的配置,能带来什么方便。我用的i.MX6,之前从freescale的网站上看了Building QT for i.MX6的过程https://community.freescale.com/docs/DOC-94066. 是不是想方便的使用软键盘的话就得用xorg,matchbox.

jnny_cn 2014-06-12 17:40
如果没有显卡驱动,xorg也是操作framebuffer的
但是许多软件都要求有x的支持才能编译,如果有这种软件的需求,那么就需要x的支持,
而且基于xorg的qt所支持的特性要远远多于embeded qt版

软键盘自己做也不是很复杂

jnny_cn 2014-06-12 17:42
ppa2001:楼主你好,我安装你的编译方式,在Ubuntu14下编译了出来,但QT creator的界面,显示有乱码。
求指点下,而且现在编译的电脑上运行的程序,怎么配置为ARM版本的?
[图片]
 (2014-06-09 22:58) 

估计你的字体路径没有配置好

要想在arm版行运行,你要有相应的交叉工具链,并且提前编译好相应依赖库,可以看看上面回帖中的依赖顺序

ppa2001 2014-06-12 19:50
谢谢了,scratchbox  第一次听说,我看下,感觉5.X好像比4.X麻烦多了·

jnny_cn 2014-06-12 20:05
ppa2001:[表情] 谢谢了,scratchbox  第一次听说,我看下,感觉5.X好像比4.X麻烦多了· (2014-06-12 19:50) 

是的,qt5.0交叉编译起来 是要比qt4.8.x复杂一些,不过qt5.3更加模块化,如果不想编译某些模块直接就可以在源代码顶层目录删除就可以,configure时会自动识别,这点比较方便,另外qt5.3支持兰芽,nfc,这点用起来很方便

zjmmlab 2014-06-13 07:06
收藏一下,过一阵要用.谢谢分享

ppa2001 2014-06-16 11:57
在请教大神一个问题,我编译了QT4.8.5 的qmake 等库没有配置OPNEGL,
但我后面的程序,想用opengl的话,是不是还的重新编译下?还是可以自己加入opengl的库文件就可以了?

jnny_cn 2014-06-16 12:24
ppa2001:在请教大神一个问题,我编译了QT4.8.5 的qmake 等库没有配置OPNEGL,
但我后面的程序,想用opengl的话,是不是还的重新编译下?还是可以自己加入opengl的库文件就可以了? (2014-06-16 11:57) 

最好重新编译

应为要生成QtOpenGL4.dll或Qt5OpenGL.dll

并且如果你要在板子上运行的话,你的板子的文件系统也要支持opengl,否则极有可能督编译不过

ppa2001 2014-06-16 22:11
jnny_cn:最好重新编译
应为要生成QtOpenGL4.dll或Qt5OpenGL.dll
....... (2014-06-16 12:24) 

谢谢大神了·好复杂。
对了,我看了下串口的资料,网上说Linux下只支持Polling模式,要不断的查询有没有接收到数据,
那不是很容易丢数据?

jnny_cn 2014-06-16 23:06
ppa2001:谢谢大神了·好复杂。
对了,我看了下串口的资料,网上说Linux下只支持Polling模式,要不断的查询有没有接收到数据,
那不是很容易丢数据?
 (2014-06-16 22:11) 

串口最好开单独的线程接收,这个不影响主线程界面响应
实际串口属于低速外设,
处理得当,不会丢数据,
我实际连续接收几万个数据,没有出现过错误

ppa2001 2014-06-17 09:17
jnny_cn:串口最好开单独的线程接收,这个不影响主线程界面响应
实际串口属于低速外设,
处理得当,不会丢数据,
我实际连续接收几万个数据,没有出现过错误 (2014-06-16 23:06) 

在次感谢,那LINUXI下串口只能用查询了?有什么好的类可以推荐码?

jnny_cn 2014-06-17 09:52
个人推荐qextserialport-1.2rc,它的内部已经给你处理好了线程模式的发送接收,很好用

内容来自[短消息]

jnny_cn 2014-06-17 09:53
个人推荐qextserialport-1.2rc,它的内部已经给你处理好了线程模式的发送接收,很好用

[attachment=12205]

ppa2001 2014-06-17 16:21
jnny_cn:个人推荐qextserialport-1.2rc,它的内部已经给你处理好了线程模式的发送接收,很好用
[图片]
 (2014-06-17 09:53) 

谢谢了·我去试试·

joeycheng 2014-06-17 16:56
为啥总是出现这个错误:QXcbConnection: Could not connect to display??
X也启动了,matchbox也启动,gtk-demo也能正常运行,就是自己的程序总是出现上面那个错误。。。
我用的是am3358,也支持SGX硬件加速的啊,查不到原因,为啥啊,大牛。。。。求懂

jnny_cn 2014-06-17 17:32
joeycheng:为啥总是出现这个错误:QXcbConnection: Could not connect to display??
X也启动了,matchbox也启动,gtk-demo也能正常运行,就是自己的程序总是出现上面那个错误。。。
我用的是am3358,也支持SGX硬件加速的啊,查不到原因,为啥啊,大牛。。。。求懂[表情]  (2014-06-17 16:56) 

QXcbConnection: Could not connect to display

这个是通过终端启动的?还是开机自动启动的?

如果是通过终端启动的,那么在终端先输入:export DISPLAY=:0试试

jnny_cn 2014-06-17 17:35
另外的我的记忆中TI并没有提供X的SGX硬件加速,

只是提供了qt嵌入式版本的SGX窗体硬件加速

不知你说的SGX硬件加速是指的哪个?

可否提供xorg.conf看看,

如果你的x具有SGX硬件加速,那么xorg.conf里应该有相应的配置

ppa2001 2014-06-18 11:36
不好意思,又来麻烦大神了·
我参考网上的例子,修改qtconfig 然后写脚本配置,但一次还是编译成了电脑版本
换了电脑,提示错误,arm-none-linux-guneabi-g++ 命令找不到·
但实际上,arm-none-linux-guneabi-g++ -V 是有的。4.5的版本,友善之臂的·
晕了。修改qtconfig 加入 export PATH=XXXX:&PATH ,又报错,不能读qtconfig文件
我就是 参考下面的方法。
[attachment=12216] 请大神指点下方法。
[attachment=12217]我自己修改后的配置文件。

jnny_cn 2014-06-18 12:02
ppa2001:[表情] 不好意思,又来麻烦大神了·
我参考网上的例子,修改qtconfig 然后写脚本配置,但一次还是编译成了电脑版本
换了电脑,提示错误,arm-none-linux-guneabi-g++ 命令找不到·
但实际上,arm-none-linux-guneabi-g++ -V 是有的。4.5的版本,友善之臂的·
晕了。修改qtconfig  .. (2014-06-18 11:36) 

export PATH=/opt/arm-<year>.<month>/bin:$PATH

以上这句话不要加入到qtconfig中

在控制台直接输入

之后再进行编译,试试

ppa2001 2014-06-18 13:14
jnny_cn:export PATH=/opt/arm-<year>.<month>/bin:$PATH
以上这句话不要加入到qtconfig中
....... (2014-06-18 12:02) 

我试了下,我在命令行打了后,还是命令没找到·我在./bashrc 还有etc/xxxx 的一个文件里,都写了路径。
不过export PATH=/opt/arm-<year>.<month>/bin:$PATH
不过这个应该是我的GCC路径吧,不会是让我写 export PATH=/opt/arm-2014.6 bin:$PATH 吧

jnny_cn 2014-06-18 13:23
ppa2001:我试了下,我在命令行打了后,还是命令没找到·我在./bashrc 还有etc/xxxx 的一个文件里,都写了路径。
不过export PATH=/opt/arm-<year>.<month>/bin:$PATH
不过这个应该是我的GCC路径吧,不会是让我写 export PATH=/opt/arm-2014.6 bin:$PATH 吧
 (2014-06-18 13:14) 

这个就是让你指定arm的编译工具路径的阿

jnny_cn 2014-06-18 13:24
ppa2001:我试了下,我在命令行打了后,还是命令没找到·我在./bashrc 还有etc/xxxx 的一个文件里,都写了路径。
不过export PATH=/opt/arm-<year>.<month>/bin:$PATH
不过这个应该是我的GCC路径吧,不会是让我写 export PATH=/opt/arm-2014.6 bin:$PATH 吧
 (2014-06-18 13:14) 

类似:
export PATH=$PATH:/arm-2010q1/bin

jnny_cn 2014-06-18 13:25
如果你的是/opt/arm-2014.6/bin

那就直接export PATH=$PATH:/arm-2014.6/bin就可以

ppa2001 2014-06-18 14:23
jnny_cn:如果你的是/opt/arm-2014.6/bin
那就直接export PATH=$PATH:/arm-2014.6/bin就可以 (2014-06-18 13:25) 

我的是export PATH=\opt\FriendlyARM\toolschain\4.5.1\bin:$PATH
运行后,也没什么用,而且看了下,arm-none-linux-XXX文件也确实存在

jnny_cn 2014-06-18 14:47
ppa2001:我的是export PATH=\opt\FriendlyARM\toolschain\4.5.1\bin:$PATH
运行后,也没什么用,而且看了下,arm-none-linux-XXX文件也确实存在  (2014-06-18 14:23) 

确认要用“\”,而不是"/"?

直接在控制台下任意路径下输入:arm-none-linux-guneabi-g++ -V可以正确输出是吗?

在\opt\FriendlyARM\toolschain\4.5.1\bin下运行arm-none-linux-guneabi-g++ -V可不算


查看完整版本: [-- QT5.3 On ARM Board --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled