前两天把Qtopia-core-4.3.3移植到了我的ARM开发板上,今天自己编写了一个helloworld程序,准备移植到开发板上。
1、在PC上写helloword程序代码
我用的是QDevelop-0.25-2自动生成的Dialog程序,没做任何修改。在PC上编译运行,一切正常。
2、交叉编译
设置环境变量
#export PATH=/usr/local/Trolltech/Qtopiacore-4.3.3-arm/bin:$PATH
生成Makefile
#/usr/local/Trolltech/QtopiaCore-4.3.3-arm/bin/qmake -spec /root/qtopia-core-opensource-src-4.3.3/mkspecs/qws/linux-arm-g helloworld.pro
其中 /root/qtopia-core-opensource-src-4.3.3/是交叉编译QtopiaCore-4.3.3-arm是的路径,我也尝试过用/usr/local/Trolltech/QtopiaCore-4.3.3-arm/mkspecs/linux-arm-g 代替 /root/qtopia-core-opensource-src-4.3.3/mkspecs/qws/linux-arm-g 但是会出错,具体原因还不清楚。
3、编译
#make
结果提示很多网络相关的东西没有定义,为什么这样??我没有使用网络的东西呀,原来Qtopia的桌面使用的是C/S结构的东东哈,所以默认是使用的网络的。那只要添上网络相关的库就OK了吧。
4、修改工程文件
用gedit打开helloworld.pro。将QT = gui core修改为QT = gui core network然后保存
5、重新生成Makefile
#/usr/local/Trolltech/Qtopiacore-4.3.3-arm/bin/qmake -spec /root/qtopia-core-opensource-src-4.3.3/mkspecs、qws/linux-arm-g helloworld.pro
6、编译
#make
哈哈,这次编译通过了。
7、测试
将编译生成的helloworld可执行文件拷贝到开发板上,并设置开发板的环境变量为
#export set HOME=/root
#export set QTDIR=/usr/local/Trolltech/QtopiaCore-4.3.3-arm
#export set QPEDIR=/usr/local/Trolltech/QtopiaCore-4.3.3-arm
#export set QWS_KEYBOARD="USB:/dev/input/event1"
#export set QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
#export set PATH=$QPEDIR/bin:$PATH
#export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib
#./helloworld -qws
终于看到图形界面了。
注:因为我的QtopiaCore-4.3.3-arm不管是在PC机上还是在开发板上都是放在/usr/local/Trolltech目录下的,所以根据不同的情况请修改上边各个步骤的路径。
1、在PC上写helloword程序代码
我用的是QDevelop-0.25-2自动生成的Dialog程序,没做任何修改。在PC上编译运行,一切正常。
2、交叉编译
设置环境变量
#export PATH=/usr/local/Trolltech/Qtopiacore-4.3.3-arm/bin:$PATH
生成Makefile
#/usr/local/Trolltech/QtopiaCore-4.3.3-arm/bin/qmake -spec /root/qtopia-core-opensource-src-4.3.3/mkspecs/qws/linux-arm-g helloworld.pro
其中 /root/qtopia-core-opensource-src-4.3.3/是交叉编译QtopiaCore-4.3.3-arm是的路径,我也尝试过用/usr/local/Trolltech/QtopiaCore-4.3.3-arm/mkspecs/linux-arm-g 代替 /root/qtopia-core-opensource-src-4.3.3/mkspecs/qws/linux-arm-g 但是会出错,具体原因还不清楚。
3、编译
#make
结果提示很多网络相关的东西没有定义,为什么这样??我没有使用网络的东西呀,原来Qtopia的桌面使用的是C/S结构的东东哈,所以默认是使用的网络的。那只要添上网络相关的库就OK了吧。
4、修改工程文件
用gedit打开helloworld.pro。将QT = gui core修改为QT = gui core network然后保存
5、重新生成Makefile
#/usr/local/Trolltech/Qtopiacore-4.3.3-arm/bin/qmake -spec /root/qtopia-core-opensource-src-4.3.3/mkspecs、qws/linux-arm-g helloworld.pro
6、编译
#make
哈哈,这次编译通过了。
7、测试
将编译生成的helloworld可执行文件拷贝到开发板上,并设置开发板的环境变量为
#export set HOME=/root
#export set QTDIR=/usr/local/Trolltech/QtopiaCore-4.3.3-arm
#export set QPEDIR=/usr/local/Trolltech/QtopiaCore-4.3.3-arm
#export set QWS_KEYBOARD="USB:/dev/input/event1"
#export set QWS_MOUSE_PROTO="LinuxTP:/dev/h3600_tsraw"
#export set PATH=$QPEDIR/bin:$PATH
#export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib
#./helloworld -qws
终于看到图形界面了。
注:因为我的QtopiaCore-4.3.3-arm不管是在PC机上还是在开发板上都是放在/usr/local/Trolltech目录下的,所以根据不同的情况请修改上边各个步骤的路径。
评论