QT 4.6.3 移植详细步骤
1. 解压下载的tslib1.4压缩包
进入生成的目录,我的是~/tslib/ 2. 执行./autogen.sh
3. 执行./configure --prefix=/opt/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 经过一小段时间的编译. 如果没出错就执行 #make
#make install-strip //生成瘦身应用程序和库
4. 修改/opt/tslib/etc/ts.conf,把第二行的#号去掉
5. 通过nfs将/opt/tslib通过nfs mount到板子上,或是下载/opt/tslib到板子的/opt/tslib (可以通过先挂载到板子上然后copy进去即可,注意一定也要copy到/opt/tslib下,这样保持和主机的一致)
6. 修改开发板的/etc/profile文件(参考命令vi /etc/profile )添加如下的内容: export TSLIB_ROOT=/opt/tslib
export TSLIB_TSDEVICE=/dev/input/event0
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf export POINTERCAL_FILE=/etc/pointercal export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO='TSLIB:/dev/input/event0' 注:红色部分可根据实际更改
可以先手动执行以上的所有export命令或在超级终端中执行source /etc/profile (使配置生效)再运行板子的/opt/tslib/bin/ts_calibrate,进行第一次的校正
编译tslib1.4的错误和解决方法:
错误1:在触摸屏安装步骤在make install 时出错 [root@localhost tslib]# make install Making install in etc
make[1]: Entering directory `/opt/tslib/etc' make[2]: Entering directory `/opt/tslib/etc'
test -z \ /usr/bin/install -c -m 644 'ts.conf' '/opt/tslib/etc/ts.conf'
/usr/bin/install: `ts.conf' and `/opt/tslib/etc/ts.conf' are the same file
make[2]: *** [install-sysconfDATA] Error 1 make[2]: Leaving directory `/opt/tslib/etc' make[1]: *** [install-am] Error 2
make[1]: Leaving directory `/opt/tslib/etc' make: *** [install-recursive] Error 1
解决方法:tslib.1.4 解压后生成的tslib不能跟安装安装生成后的tslib放在一起,比如
想把安装生成的tslib库放在/opt文件下,在opt/文件夹下新建一个tslib 参考命令:mkdir tslib .tslib.1.4必须放在其他目录下,不能放在/opt/下。 错误2:
ts_test.o(.text+0x218): In function `main': : undefined reference to `rpl_malloc'
fbutils.o(.text+0x234): In function `open_framebuffer': : undefined reference to `rpl_malloc' collect2: ld returned 1 exit status make[2]: *** [ts_test] Error 1
make[2]: Leaving directory `/home/gfpeak/Desktop/tslib/tests' make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/gfpeak/Desktop/tslib' make: *** [all] Error 2
解决方法是在编译的时候./configure后面的参数没有设置对,正确设置如下:
./configure --prefix=/usr/local/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 错误3:
在开发板上运行校正程序时出现No raw modules loaded
解决方法是把 tslib/etc目录下的ts.conf 的 \的注释符号“#”去掉。但记住不要在前面留有 空格 ,否则会出现错误4 错误4:
在开发板上运行校正程序时出现Segmentation fault 解决方法是看错误2 错误5:
ts_open: No such file or directory 环境变量没有设置好
***********************qte 4.6.3的移植*****************************************
1. 从官网上下载qt-everywhere-opensource-src-4.6.3.tar.gz
2.解压到某个工作目录
3.运行config命令,说明:这里的config的参数可以根据自己的需要进行更改,具体的还要仔细查看相关资料,这里给出的是自己的配置,可以实现SQLite数据库 以及图片的显示等功能
./configure -embedded arm -xplatform qws/linux-arm-g++ -no-qt3support -fast -no-largefile -qt-sql-sqlite -qt-mouse-tslib -I /opt/tslib/include -L /opt/tslib/lib -nomake tools -nomake demos -nomake examples
4. make进行编译
5.make install 进行安装,这里的默认安装到了/usr/local/Trolltech/QtEmbedded-4.6.3-arm目录下
6.此时可以将安装目录下的lib文件夹整个的copy到开发板的相同目录下即/usr/local/Trolltech/QtEmbedded-4.6.3-arm这也是为了保持一致性为后来的运行程序节省时间
7.导出环境变量: 在终端中输入下列命令
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/lib/plugins:/usr/local/lib:$LD_LIBRARY
8.编译程序并测试
进入qt自带的例子中这里选择的是计算器的例子 cd qt-4.6.3-arm/examples/widgets/calculator
/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/qmake -project /usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/qmake make
9.此时会生成二进制文件calculator,将其考到开发板上,将下列命令添加到开发板系统的/etc/profile 参考命令 vi /etc/profile
export TSLIB_TSDEVICE=/dev/input/event0
export LD_LIBRARY_PATH=/opt/tslib/lib:$LD_LIBRARY_PATH export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/opt/tslib/lib/ts export TSLIB_CONSOLEDEVICE=none
export TSLIB_CONFFILE=/opt/tslib/etc/ts.conf export POINTERCAL_FILE=/etc/pointercal export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO='TSLIB:/dev/input/event0' //从这往上export命令是tslib配置时添加的
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/lib/plugins:/usr/local/lib:$LD_LIBRARY
./calculator –qws(必须加-qws参数,不然会) 错误1:超级终端上提示
./calculator –qws: /lib/libc.so.6: version `GLIBC_2.9' not found (required by /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/libQtGui.so.4)
./calculator –qws: /lib/libc.so.6: version `GLIBC_2.9' not found (required by /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/libQtCore.so.4)
可以输入 cd /lib
strings libc.so.6 | grep GLIBC
查看GLIBCXX_XXX是否在其中,如果不在,说明是库的版本与编译器版本不一致,需要把编译器的库文件拷贝到板子上(我的做法是:把光盘解压下跟开发板一样系统中的/lib 库替换掉开发板上的/lib库)
10. 此时就会看到开发板上的计算器了,说明移植成功了
参考文章:
http://blog.csdn.net/qqyanchong/archive/2010/08/29/5847440.aspx http://www.mcuzone.com/bbs/simple/?t9208.html
******************在Fedora9环境下安装Qt Creator*********** 一、 二、
下载qt-sdk-linux-x86-opensource-2010.05.1.bin
进入linux系统中存放qt-sdk-linux-x86-opensource-2010.05.1.bin文件的目录下, 运行./ qt-sdk-linux-x86-opensource-2010.05.1.bin 安装Qt Creator
三、设置Qt Creator使其支持交叉编译
1、首先确否你已经参考用户手册在Fedora9上安装了 QtEmbedded-4.6.3-arm,安装在PC上的目录为/usr/local/Trolltech/QtEmbedded-4.6.3-arm/,如果还没有安装,参照上文****qte 4.6.3的移植**, 确认开发板是否安装了QtEmbedded-4.6.3-arm没有参照mini2440用户手册:7.6.2 编译和运行arm 版本的QtE-4.6.3,把它在开发板的根目录下解压,就可以使用了,如下命令
#tar xvzf target-qte-4.6.3.tgz –C / 这样,就会在/usr/local/目录下创建生成Trolltech 目录,它里面包含了运行所需要的所有库文件和可执行程序
备注:为了保证QtEmbedded-4.6.3-arm/lib 库一致,最好参照*qte 4.6.3的移植*第6步做
2、下面将设置Qt Creator使其使用QtEmbedded-4.6.3-arm编译程序,请按照如下步骤设置: 1) 点击Tools->Options->Qt4->Qt Versions.
2) 点击右侧的按钮,然后在下方的编辑框中点击Browse… 找到
/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin/qmake,如下图所示:
3)最后点击OK。
四、交叉编译Qt4程序
在Qt Creator主界面的左侧,点击按钮,在Build Settings中,在Edit build configuration下拉框中选择“Qt in PATH Release”,然后在Qt version下拉框中选择4.6.3,最后,修改Build directory
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库QT 4.6.3 移植详细步骤在线全文阅读。
相关推荐: