QT4.7开发环境搭建主要步骤,全志A33 + win7桌面版

来源:互联网 发布:苹果mac官方壁纸 编辑:程序博客网 时间:2024/05/21 14:51

qt4.7能在硬件平台A33中正常运行,并且应用程序开发调试在vs IDE进行,在vs调试ok后,download到板中可以立即运,利用vs开发界面友好,方便调试等特点,提升开发效率


相关材料:


两台电脑,ubuntu主机尽可能用性能好点的主机, unbuntu 系统,我是装在真机中,在开发过程中,在win7用 ssh登陆到ubuntu主机

主要软件清单:

ubuntu软件:

1.ubuntu-14.04-desktop-amd64.iso 

2.qt-everywhere-opensource-src-4.7.3.tar.gz

3.gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) 直接在ubuntu中apt-get install 

4.arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

下载地址:http://www.bubuko.com/infodetail-667810.html



windows软件

1.VS2010UltimTrialCHS.iso

vs2010 开发ide

2.qt-opensource-windows-x86-vs2010-4.8.6.exe

windowns开发环境中的qt 工程代码

3.qt-vs-addin-1.2.2-opensource.exe

qt在vs2010中的插件

4.Tera Term4.92. 在windows中登陆ubuntu, 同时也支持板子串口控制台


步骤(ubuntu端 和开发板端):

1.安装tslib1.4,
虽然我的硬件中没有触摸屏,但是仍然安装此库;

宿主配置

确保已安装 autoconf、automake 和 libtool。如果没有安装,或者不确定,可输入下列命
令进行安装:

$ sudo apt-get install autoconf
$ sudo apt-get install automake
$ sudo apt-get install libtool


进入解压的目录,执行如下命令:
$ cd tslib
$ ./autogen.sh
$ ./configure --prefix=/home/vmuser/nfs_shared/tslib --host=arm-none-linux-gnueabi ac_cv_func_malloc_0_nonnull=yes
--prefix 指定安装路径,用户可以自行指定 tslib 的安装目录。
--host 指定交叉编译器,如果交叉编译器是 arm-none-linux-guneabi-gcc,则指定arm-none-linux-guneabi。

make
make install

设置开发板环境 
通过串口软件(如本文使用的 Tera Term),打开开发板的环境变量文件/etc/profile。
# sudo vi /etc/profile
在末尾添加如下内容:
export TSLIB_ROOT=/usr/local/tslib  /* 指定 tslib 目录路径 */
export TSLIB_TSDEVICE=/dev/input/event0 /* 指定触摸屏设备 */
export TSLIB_CALIBFILE=/etc/pointercal  /* 指定校准文件的存放位置*/
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf /* 指定 tslib 配置文件的路径*/
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts /* 指定 tslib 插件文件的路径*/
export TSLIB_FBDEVICE=/dev/fb0  /* 指定帧缓冲设备 */
export QWS_MOUSE_PROTO=/dev/input/event0 /* 指定鼠标设备 */
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib /* 添加 tslib 库 */
其中 TSLIB_ROOT 更改为自己实际存放的 tslib 的绝对路径。
TSLIB_TSDEVICE和QWS_MOUSE_PROTO这两项需要查看自己的开发板触摸屏设备对应/dev/input/下的文件。

2.编译qt4.7.3
宿主配置,进入到源码目录:
(1);设置开发环境:
mkspec/qws/linux-arm-gnueabi-g++/qmake.conf 文件添加-lts 参数和在
文件末尾添加如下两行:注意安装路径,我的安装路径是/opt/Trolltech
QMAKE_INCDIR = /opt/Trolltech /tslib/include
QMAKE_LIBDIR = /opt/Trolltech /tslib/lib
(2):将下列命令保存成 autoconfig.sh文件:
#!/bin/sh
./configure \
-prefix /opt/Trolltech \
-opensource -confirm-license -release -embedded arm \
-xplatform qws/linux-arm-gnueabi-g++ -no-qt3support \
-depths 16,18,24,32 -no-qvfb -no-svg \
-fast \
-optimized-qmake \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-qt-mouse-linuxinput \
-little-endian -host-little-endian \
-no-webkit \
-declarative \
-no-qt3support \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-qvfb \
-no-phonon \
-no-nis \
-no-cups \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-no-pch \
-D QT_NO_QWS_CURSOR    \
-D QT_QWS_CLIENTBLIT   \
-nomake examples -nomake tools -nomake docs \
-qt-mouse-tslib -I/opt/tslib/include -L/opt/tslib/lib 


运行 ./autoconfig.h

配置完成后:

make 

时间比较久,我的配置文件中去掉了webkit,所以编译时间差不多一个小时,当然,我的宿主机配置比较差 

make install

接下来就要移植到开发板上。
需要将安装目录下的 lib 和 plugins 移植到 ARM 开发板上,本例安装在/opt/Trolltech,所以在开发板上执行如下命令:
# mkdir /usr/local/qt-4.7.3-arm
通过 NFS,将 lib 和 plugins 下载到开发板上。在开发板上执行的命令如下:
# mount -t nfs 192.168.1.203:/opt/Trolltech/ /tmp -o nolock
# cp -r /tmp/lib /usr/local/qt-4.7.3-arm/
# cp -r /tmp/plugins /usr/local/qt-4.7.3-arm
设置相应的环境变量,在开发板上执行如下命令:
# vi /etc/profile
然后在文件末尾追加如下内容:
export QTDIR=/usr/local/qt-4.7.3-arm
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/plugins/imageformats:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTDIR/plugins /* 指定 Qt 插件路径 */
export QT_QWS_FONTDIR=$QTDIR/lib/fonts  /* 指定 Qt 字体路径 */


(Windows端):

1.安装vs2010
2.安装qt-opensource-windows-x86-vs2010-4.8.6.exe
3.qt-vs-addin-1.2.2-opensource.exe
安装完成后,启动vs2010:



Qt5->Open Qt Project File(.pro)

去下面目录中选择

C:\Qt\4.8.6\examples\effects

转换完成后,去对应的目录下面选择.sln文件打开,


编译完成后,运行效果:



将此工程下面的所有*.cpp和*.h文件拷贝到ubuntu宿主机中:用qmake-arm生成运行文件:注意,此处的qmake-arm是个别名,指向的是在ubunt中的安装的qt-4.7-arm版

在~/.bashrc中: 

alias qmake-arm=/opt/Trolltech/bin/qmake


进入到源码目录

qmake-arm -project

qmake-arm

make 

编译无错后,输出:


利用nfs,在控制台上,运行./Qt,硬件平台效果,7寸液晶屏,1024*600分辨率.



磕磕碰碰,开发环境总算是搭建起来,感谢网络中的热心人。

碰到的问题:

1.

QFontDatabase::loadFromCache: Font path doesn't match。后面跟着便是两个路径。解决方案就是对比两个路径的不同,终端执行env查看环境配置,将QT_QWS_FONTDIR环境变量export成前面显示的base font路径。OK,问题解决。


add at 20161217

1.when building  the example at QT dir appeare can not find *.dll.just add the installed path of QT to environment PATH

2.set the environment QTDIR = C:\Qt\4.8.6


0 0
原创粉丝点击