自行编译任意版本的方法:
下载Qt-lib源码包,此处以qt-everywhere-opensource-src-4.7.3.tar.gz为例
注意前面两步是可选的。因为后续我们建立的Qt-ZYNQ库也是这个源码包。
添加中文支持:
缺少fontconfig造成的,于是重新configure:
问题又来了,configure未通过,提示Fontconfig未通过,于是进入/config.tests/x11/fontconfig目录,执行make,发现缺少freetype相关的头文件,首先保证freetype开发库已经安装:
sudo apt-get install libfreetype6-dev
安装后发现freetype头文件没在标准路径,于是
ln -s /usr/include/freetype2/freetype/ /usr/include/freetype
再次在这里make,还是出错,发现缺少fontconfig开发库,于是
sudo apt-get install libfontconfig1-dev
添加相关库:
如果出现:You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /opt/qtx11/qt-everywhere-opensource-src-4.7.1/qt-everywhere-opensource-src-4.7.1/mkspecs/linux-g++.
需要安装libX11的库文件,依次安装
sudo apt-get install libX11-dev
sudo apt-get install libXext-dev
sudo apt-get install libXtst-dev
若编译时(webkit)出现:”cannot find -lXrender”
出现:“cannot find -lXrender” 需要安装
sudo apt-get install libxrender-dev
编译Qt源码包
tar -xvzf qt-everywhere-opensource-src-4.7.3.tar.gz
cd qt-everywhere-opensource-src-4.7.3
./configure -fontconfig -prefix $INSTALL //自己先export INSTALL=安装路径
make //要等很久
make install
测试。做了一个例子,ok
8. 制作Qt-ZYNQ交叉编译库
(1) IDE:apt-get installqtcreator (Linux下Qt安装参考Linux 下安装Qt,最好先看,有些支持库需要先行安装,比如fontconfig)
(2) Qt库:源码包;配置替换qmake.conf;configure;C++库;中文字库
(3) 打包:创建img
1. 在linux安装qt集成开发环境
apt-get installqtcreator
或者从软件中心中进行安装
可能需要:
按照懒兔子的博客的步骤,新建项目没有成功,提示的不能创建文件夹,意识到可能是权限的问题,于是在/usr/bin下 在终端里./qtcreator ,可以新建项目,说明真的是权限的问题,于是
chmod 777 -R /usr/bin //qt的安装目录
chmod 777 -R /opt/qtproject //qt项目的保存目录
2. 在wiki中安装相应的zynq-qt库(参考/QtandQwtBaseLibraries-BuildInstructions)
新建环境变量
bash> export ZYNQ_QT_BUILD=/home/zq/Program/Qt473-ZYNQ/build
bash> export ZYNQ_QT_INSTALL=/home/zq/Program/Qt473-ZYNQ/install
bash> export PATH=$ZYNQ_QT_INSTALL/bin:$PATH //临时的,关闭terminal就无效了
下载Qt/Qwt sources archive; 解压到ZYNQ_QT_BUILD目录
bash> cp qt_build_src.tar $ZYNQ_QT_BUILD
bash> cd $ZYNQ_QT_BUILD
bash> tar xfv qt_build_src.tar
包括以下文件:
qt-everywhere-opensource-src-4.7.3.tar.gz – Qt source archive //这个可以使用上一步的源码包,可以不用下载
qmake.conf – Qt qmake configuration file //这个最重要
qwt-6.0.1.tar.bz2 – Qwt source archive //暂时没发现用处
qwtconfig.pri – Qwt qmake project include file
编译qt:
bash> cd $ZYNQ_QT_BUILD
bash> tar xzfv qt-everywhere-opensource-src-4.7.3.tar.gz //重新编译的话,可以make distclean;最好重新解压,
bash> cd qt-everywhere-opensource-src-4.7.3`
bash> cp $ZYNQ_QT_BUILD/qmake.conf mkspecs/qws/linux-arm-gnueabi-g++
bash> ./configure \
-embedded arm \
-xplatform qws/linux-arm-gnueabi-g++ \
-little-endian \
-opensource \
-host-little-endian \
-confirm-license \
-nomake demos \
-nomake examples \
-prefix $ZYNQ_QT_INSTALL
bash> make //很久
bash> su - #if you need root access to be able to install
bash> make install
安装Qwt。需要切回su zq并且重新注册变量
bash> cd $ZYNQ_QT_BUILD
bash> tar xjfv qwt-6.0.1.tar.bz2
bash> cd qwt-6.0.1
bash> cp $ZYNQ_QT_BUILD/qwtconfig.pri .
bash> qmake qwt.pro
bash> make
bash> su - #if you need root access to be able to install
bash> make install
添加C++库
bash> export ZYNQ_QT_INSTALL=/home/zq/Program/Qt473-ZYNQ/install
bash> sudo cp -P /home/zq/Program/CodeSourcery/arm-xilinx-linux-gnueabi/libc/usr/lib/libstdc++.so* \
$ZYNQ_QT_INSTALL/lib
添加中文字库(可先制作eng版的镜像再添加)
下载wenquanyi字库文件(12-36号),copy到/install/lib/fonts/下(估计40M),然后再将install下的文件打包成镜像就可以了。
因为这些字库大概40M,所以在制作镜像的时候80M肯定是不够用了,要根据需要扩大镜像的容量,否则在拷贝内容的时候会报错。
为ZYNQ创建文件镜像
bash> export ZYNQ_QT_BUILD=/home/zq/Program/Qt473-ZYNQ/build
bash> export ZYNQ_QT_INSTALL=/home/zq/Program/Qt473-ZYNQ/install
bash> cd $ZYNQ_QT_BUILD
bash> dd if=/dev/zero of=qt_lib.img bs=1M count=80
bash> mkfs.ext2 -F qt_lib.img
然后把qt_install目录中的内容拷贝过来
bash> su - #if you need root access to be able to install
bash> chmod go+w qt_lib.img
bash> mount qt_lib.img -o loop /mnt
bash> cp -rf $ZYNQ_QT_INSTALL/* /mnt
bash> chmod go-w qt_lib.img
bash> umount /mnt