qt编译arm
A. linux 下用arm体系QT编译问题(目前我系统里有X86 和 arm体系(老师编好的)的QT各一个)
貌似是缺少系统库,有些版本的linux编译qt是会出现缺少系统库而导致编译不成功的问题,不是很推荐用最新的编译器来编译,其实2.4的内核和3.4.5的编译器做qt就已经足够了,你可以去查查看那些版本的linux下可以成功的编译qt,安装的时候尽可能把开发用的库都选上,不然就只有自己再去打补丁,
仅作参考
B. Arm Qt编译成功怎么验证
编译arm版QT应用程序进行验证。
平时程序都是在PC上完成的,所以我们需要先安装X11版的QT来获得qvfb这工具,嵌入式的开发有了qvfb,就中以不需要实际的开发板,可以开发QT应用程序。
构建QT交叉编译库,编译arm版QT应用程序.然后移到开发板上直接运行。
C. qt的程序在arm-linux-g++下怎么交叉编译
你找下,是不是在哪个makefile脚本或类似config.mk的脚本里有个变量,变量值为编译器名字的。
它可能是这样的:
cross_compile
:=
arm-linux-
hostcxx
=
g++
这两个名字拼起来才是交叉编译器的名字,如果只用了hostcxx或者cross_compile为空,它就用的g++了
D. 如何为qt指定编译器arm-xilinx-linux
修改$QTDIR/mkspecs目录下的符号链接default.将其指向linux-g++
$QTDIR是路径,具体要看你把QT装到什么地方和QT本身的版本,一般是/usr/lib[64]/qt4
修改default符号链接的作用是让qmake在生成Makefile的时候将Makefile文件中的编译器变量$CC与$CXX赋值成gcc和g++
E. 关于QT开发平台和arm嵌入式的关系。
QT包括普通窗口界面下的和嵌入式下的
嵌入式QT也叫QT/Embeded,是应用在嵌入式linux系统上的GUI应用程序运行环境,主要运行于framebuffer上。
所以实现一个移动设备上的界面,我们这样来构造:
硬件:arm9最小系统板+触摸液晶屏
软件:
1.
linux系统
2.
QT
运行库
3.
被QT编译好的应用程序
上三个都是嵌入式移植的,是移植好并用arm-linux-交叉编译器编译的linux系统,QT库lib*.so,QT编译器和该编译器编的应用程序。
除了QT,清华出的MINIGUI很受中文用户青睐,也是GPL。
F. qt arm 版本编译问题
这个警告
> This however does *not* affect NDK-generated code because, very fortunately,
> none of the stable ABIs exposed by the NDK depend on this mangling (this has
> been checked carefully), so whichever toolchain you use, your code will run
> on all Android systems
赶脚不会对代码有什么影响啊..
CFLAGS += -Wno-psabi
关掉它就ok
G. QTcreator能在windows中交叉编译arm平台程序吗
这个估计没必要,安装一个虚拟机,然后安装一个桌面版的里Linux系统,再在系统中安装一个vim编辑器,再安装一个gdb调试器,最后再arm-linux-gcc就可以编译c文件了,要是你的很多源程序文件都在windows系统中,你可以设置Windows与Linux共享文件。这些东西在网上都可以找到教程,刚开始可能觉得Linux系统很不方便,但是要熟悉Linux系统就必须经常呆在Linux系统中,希望能帮到你。
H. 如何编译ARM版本LINUX QT4.5
编译安装内核 下载并解压内核 解压内核:tar xf linux-2.6.XX.tar.xz 定制内核:make menuconfig 参见makefile menuconfig过程讲解 编译内核和模块:make 生成内核模块和vmlinuz,initrd.img,Symtem.map文件 安装内核和模块:sudo make moles_install install 复制模块文件到/lib/moles目录下、复制config,vmlinuz,initrd.img,Symtem.map文件到/boot目录、更新grub 其他命令: make mrprobe:命令的作用是在每次配置并重新编译内核前需要先执行“make mrproper”命令清理源代码树,包括过去曾经配置的内核配置文件“.config”都将被清除。即进行新的编译工作时将原来老的配置文件给删除到,以免影响新的内核编译。 make dep:生成内核功能间的依赖关系,为编译内核做好准备。 几个重要的Linux内核文件介绍 config 使用make menuconfig 生成的内核配置文件,决定将内核的各个功能系统编译进内核还是编译为模块还是不编译。 vmlinuz 和 vmlinux vmlinuz是可引导的、压缩的内核,“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制,Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。
I. qt creator 怎么搭建arm
一、Qt4.6.3<span times="" new="" roman";="" mso-fareast-theme-font:minor-fareast;mso-hansi-font-family:"times="" mso-bidi-font-family:arial;mso-bidi-font-weight:normal"="" style="word-wrap: break-word;font-family: 宋体">编译与移植到PXA270
环境:虚拟机Fedora7(建议安装Vmware Tools,详细安装方法参照Vmware帮助文档),USB串口,超级终端。
软件准备:
1、用于 Linux/X11 32位 的 Qt Creator 1.3.1 二进制软件包qt-creator-linux-x86-opensource-1.3.1.bin。
2、用于嵌入式 Linux 的 Qt 库 4.6.3包qt-everywhere-opensource-src-4.6.3.tar.gz。
1.1 编译
将 qt-everywhere-opensource-src-4.6.3.tar.gz 压缩包解压为3份,分别编译 PC ,嵌入式 x86 和 arm 三个版本。
在root目录下建立tmp文件夹,将qt-everywhere-opensource-src-4.6.2.tar.gz直接解压后复制3份,分别命名为pc、x86、arm。
1.1.1编译 PC 版
进入pc目录,执行如下操作:
#./configure
# gmake
# gmake install
安装过程比较长,没有碰到过错误。
1.1.2编译嵌入式x86版
进入x86目录,执行如下操作:
# ./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
# gmake
# gmake install
安装过程比较长,没有碰到过错误。
编译安装PC版中的 qvfb:
进入pc/tools/qvfb/目录,执行如下操作:
#make
编译完毕,将pc/bin目录下的qvfb文件复制到/usr/local/Trolltech/QtEmbedded-4.6.3/bin目录。
1.1.3编译嵌入式arm版(需要 arm-linux-gcc 的支持)
1、把编译器路径加入系统环境变量,运行命令:
#gedit /root/.bashrc
2、编辑/root/.bashrc文件,在最后一行加上 export PATH=/usr/local/arm/3.4.1/bin:/$PATH
3、配置
必须加上“-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm ”参数, 不然安装后不在QtEmbedded-4.6.3-arm文件夹下,而是覆盖了QtEmbedded-4.6.3。
# ./configure \
-prefix /usr/local/Trolltech/QtEmbedded-4.6.3-arm \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
J. 如何编译arm上运行的qt2可执行文件
编译好的QT的程序,一般会有几个.CPP\.h文件,这么多的文件我们要怎么样编译。首先,我们需要安装QT版本的库,一定要注意,这个库文件一定和开发板上的是同一个库。我们假设这个库名字叫qtembed450-arm。以下步骤一定要注意:
1.安装目录一定要在“/usr/local/”下;
2.安装成功后,这步非常关键,一定要设置环境变量,而且,我们要设置三个环境变量,这样做有三个目的:①可以在任何路径下用库里的命令②编译时候可以指定编译规则为arm-linux-g++③编译时候可以指定到所需要的库文件。那么安装后,输入一下命令:gedit /root/.bashrc.这个命令执行后就进入到设置环境变量的地方,我们要加入以下三个环境变量的设置:
export PATH=$PATH:/usr/local/qtembed450-arm/bin
export LD_LIBRARY_PATH=$LD_LTBRARY_PATH:/usr/local/qtembed450-arm/lib
export QMAKESPEC=/usr/local/qtembed450-arm/mkspecs/default
以上设置非常的重要,非常的关键。呵呵,先照着设置,具体原因我会细谈。注意,我编译用的很重要的qmake-arm 命令,就在/usr/local/qtembed450-arm/bin下,可以打开看看哦!环境变量设置好后,用which qmake-arm 命令来确认下是否成功,呵呵。
3.准备工作做到这里,算是进行一半了,哎,真累啊!还要接着写呢。接下来我们要把我们的编译好的QT程序的文件夹打开,把里面的 .CPP/.h文件拷贝出来,新建立一个文件夹;
4.把以上的文件里的.cpp .h文件复制后新建立一个文件夹。
5.新文件夹建立后,在linux终端中进入到该文件夹所在目录下,执行这个命令:qmake-arm -project命令,千万注意,-project 和arm之间一定要有空格啊!该命令执行后,会生成一个.pro文件,紧接着呢,执行qmake-arm命令,该命令执行后呢,会生成一个Makefile文件,这步很关键哦,没有这步就不会有Makefile文件,一般在这步会出现很多错误,就是库没有发现之类,这个时候,一定要检查前面的步骤,仔细检查看是否是错误。我们这个时候打开Makefile文件看一下,会发现,里面的编译已经变成arm-linux-g++。这个时候,就踏实,接下来怎么办?还用问吗,直接make下就好了,哈哈,简单吧!看到上面的qtmyjpg文件了吗?这个是可以在开发板上运行的哦!接下来不用我说了吧,直接发送到开发板上执行,可以看到图片喽!
6.下到开发板上之后呢,通常会发现没有权限,执行chmod +x qtmyjpg 就可以了,但是注意,要执行这个qtmyjpg文件,一定要这样输入命令:./qtmyjpg -qws为什么需要加这个参数呢?很简单,你不加执行时会出现错误原因,自己看下吧,哈哈!
7.一般这个时候触摸屏需要矫正。进入“/usr/tslib/bin/”,查看里面的文件,有一个“ts-calibrate”文件,执行这个文件,./ts-calibrate 后,可以看到LCD屏幕上出现十字点,用触摸笔点一下就可以,至此,整个QT在LCD上显示整理完毕,花了我半下午时间加上对曹老师的请教,终于完成,嘿嘿!赶紧试试哦!