zoukankan      html  css  js  c++  java
  • linux上安装Qt

    先说说Qt源码包,有x11的,又有embedded的,还有everywhere的。安装x11,可以开发在pc机下运行的应用程序,并且会生成一些Qt开发工具designer和qvfb。安装embedded ,可以开发在开发板上运行的Qt应用程序。使用everywhere,需要解压三份,使用不同的configure参数可以安装不同平台的Qt,包括前面说的两种。分别为x11,x86,arm。x86的程序可以运行在qvfb里。这就可以不用开发板了。如果是windows装Qt的话,只需要下载个exe文件直接安装就行了。要配置环境变量。(最后再说)

    再说说windows和linux下的Qt程序。

    windows 下的Qt和Linux下的Qt可以一样用的,只要在新的系统里再重新使用qmake -project ;qmake;make(windows下是mingw32-make)三个命令编译一下就行了。一定要设置好环境变量啊,否则找不到命令

     

    一、.嵌入式Qt程序开发环境的搭建。

    第一步:PC机安装Qt。

    ftp://ftp.qt.nokia.com/qt/source下载Qt的源码包。qt-everywhere-opensource-src-4.8.1.tar.gz放到/root/Qt目录下。

    tar -zxvf qt-everywhere-opensource-src-4.8.1.tar.gz命令解压,将解压后的目录名称改为qtx11.

    #cd qtx11

    #./configure要安装这三个才能正常使用yum install libX11-dev libXext-dev libXtst-dev

     

    #gmake(这一步的时间相当长,两三个小时)

    #gmake install

    这是就安装好了,安装在/usr/local/Trolltech/Qt-4.8.1

    #export PATH="/usr/local/Trolltech/Qt-4.8.1/bin:$PATH"

    #qmake -v(如能输出版本号,则说明安装成功)

     

    接下来编译qvfb。

    #cd /root/Qt/qtx11/tools/qvfb

    ----------------------------------------------------------------------------------------

    #gmake  (install libpng-dev)

    #cp /root/Qt/qtx11/bin/qvfb /bin

    #qvfb(如果能出现一个虚拟窗口,那么说明编译成功了)

    -------------------------------------------------------------------------------------------------

    ************************************************************************************************

     

    第二步:安装Qt for x86

    #cd /root/Qt/

    #tar -zxvf qt-everywhere-opensource-src-4.8.1.tar.gz命令解压,将解压后的目录名称改为qtx86.

    #cd qtx86

    #./configure -embedded x86 -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb(这个命令可以使应用程序在qvfb里运行,节省开发板)

    #gmake(很长时间)

    #gmake install

    安装目录在/usr/local/Trolltech/QtEmbedded-4.8.1/

    #export PATH="/usr/local/Trolltech/QtEmbedded-4.8.1/bin:$PATH"

    #qmake –v (如能输出版本号,则说明安装成功)

    将上一步中编译好的qvfb复制到/usr/local/Trolltech/QtEmbedded-4.8.1/bin中。

     

    ***********************************************************************************************

     

    第三步:安装交叉编译工具,arm-linux-gcc,我的版本是4.3.2

    #tar xvzf arm-linux-gcc-4.3.2.tgz -C / (C需要大写,解压后安装在/usr/local/arm/4.3.2/

    #vi /etc/profile (添加PATH)

    添加如下内容exportPATH="$PATH:/usr/local/arm/4.3.2/bin"

    #arm-linux-gcc -v (如果输出版本号说明安装成功)

     

    **********************************************************************************************

     

    第四步:交叉编译tslib-1.4

    下载tslib-1.4.tar.gz放到/root/Qt/目录下

    #cd /root/Qt/

    #tar zxvf tslib-1.4.tar.gz

    #cd tslib

    #export CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc //设定C编译器

    #export CXX=/usr/local/arm/4.3.2/bin/arm-linux-g++ //设定C++编译器

    #./autogen.sh (如果运行有错误则需要安装autoconf、automake、libtool (如yum installautoconf))

    #echo"ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache //避免检查ac_cv_func_malloc_0_nonnull

    # ./configure --host=arm-linux --cache-file=arm-linux.cache-prefix=/usr/local/tslib

    #gmake

    #gmake install (安装在/usr/local/tslib里面)

    #vi /usr/local/tslib/etc/ts.conf (修改ts.conf) 最后内容如下:

    module_raw input /

    /前面的空格记得去掉,没去掉也是不能用的

    module pthres pmin=1

    module variance delta=30

    module dejitter delta=100

    module linear

     

    (以下是在对应的开发版上使用,)

     

    将上面整个/usr/local/tslib的内容下载到开发版里的对应路径下在(/usr/local/)

     

    配置环境变量 :vi /etc/profile, 添加下面几行

     

    export TSLIB_ROOT=/usr/local/tslib

    export TSLIB_TSDEVICE=/dev/input/event0

    export TSLIB_CALIBFILE=/etc/pointercal

    export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf

    export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts

    export TSLIB_FBDEVICE=/dev/fb0

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

     

    source /etc/profile

    可以把/usr/local/tslib/bin 里的ts_calilbrate 跟ts_test 拷贝到/bin 里,执行ts_calibrate 跟 ts_test命令

     

    **********************************************************************************************

     

    第五步:安装Qt for arm

    #cd /root/Qt/

    #tar zxvf qt-everywhere-opensource-src-4.8.1.tar.gz命令解压,将解压后的目录名称改为qtARM.

    #cd qtARM

    ./configure -embedded arm -xplatform qws/linux-arm-g++-static -qt-libtiff -qt-libmng -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib-prefix /usr/local/Trolltech/Qt-4.8.1-arm_static

    红色的表示静态编译多加的参数,非静态编译可以去掉

    #//./configure –embedded arm –xplatform qws/linux-arm-g++ -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

    #gmake

    #gmake install

    安装目录在/usr/local/qt-4.7.3-linux-arm-install

    #export PATH=”/usr/local/qt-4.7.3-linux-arm-install/bin:$PATH”

    然后输入#qmake –v(如能输出版本号,则说明安装成功)

     

    **********************************************************************************************

     

    第六步:建立三个文件,用于三个环境变量的设置

     

    #vi ~/.setenv-qtx11.sh

    内容如下

    export PATH=/usr/local/Trolltech/Qt-4.8.1/bin:$PATH

    export QTDIR=/usr/local/Trolltech/Qt-4.8.1/

    export LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.8.1/lib:$LD_LIBRARY_PATH

    export QMAKESPEC=usr/local/Trolltech/QtEmbedded-4.8.1/mkspecs/linux-g++

     

    #vi ~/.setenv-qtx86.sh

    内容如下

    export PATH=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/bin:$PATH

    export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/

    exportLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.8.1-arm/lib:$LD_LIBRARY_PATH

    export QMAKESPEC=usr/local/Trolltech/QtEmbedded-4.8.1/mkspecs/linux-g++

     

     

    #vi ~/.setenv-qtARM.sh

    内容如下

    export PATH=/usr/local/Trolltech/QtEmbedded-4.8.1/bin:$PATH

    export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.8.1/

    export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.8.1/lib:$LD_LIBRARY_PATH

    export QMAKESPEC=usr/local/Trolltech/QtEmbedded-4.8.1-arm/mkspecs/linux-g++

     

    **********************************************************************************************

     

    接下来是如何使用:

    假设已经有一个工程目录是hello。

    (1)想在电脑上运行。

    #source ~/.setenv-qtx11(使环境变量生效)

    #cd hello

    #qmake -project

    #qmake

    #make

    #./可执行文件

    这样就可以了

    (2)想在qvfb上运行

    #source ~/.setenv-qtx86(使环境变量生效)

    #cd hello

    #qmake -project

    #qmake

    #make

    #qvfb &(打开qvfb,如果出错的话,就打开x11里的qvfb)

    #./可执行文件 -qws

    (3)想在开发板上运行

    #source ~/.setenv-qtARM(使环境变量生效)

    #cd hello

    #qmake -project

    #qmake

    #make

    这时的可执行文件就只能在开发板运行了。下载到开发板

     

    开发板里需要有Qt的库,直接从pc机里拷过来就行了,,将/usr/local/Trolltech/QtEmbedded-4.8.1/lib下的libQtGui.so*libQtCore.so*libQtNetwork.so*复制到开发板目录的/usr/lib目录下。将交叉编译器lib目录下的libstdc++.so*libpng.so*复制到开发板目录/usr/lib目录下。/usr/local/Trolltech/QtEmbedded-4.8.1-arm/lib/usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/usr/lib里,用locate找出来的

     

    设置开发板环境变量

    #export LD_LIBRARY_PATH=/usr/local/tslib/lib:/usr/lib/:$LD_LIBRARY_PATHLD_LIBRARY_PATH表示动态目录)

     

    这时可以执行编译好的Qt程序了。到程序所在目录下再执行

    ./可执行文件 -qws

    提示错误:QFontDatabase: Cannot find font directory /usr/local/Trolltech/QtEmbedded-4.8.1-arm/lib/fonts - is Qt installed correctly?

    解决办法:

    mkdir /usr/lib/fonts

    export QT_QWS_FONTDIR=/usr/lib/fonts

    成功运行!

    上述内容为linux下的环境配置。

    假设windows下安装的是Qt-2009-05,安装目录在D:/Qt/2009.05/

    在我的电脑->属性->高级->环境变量 ,编辑path变量。添加如下内容

    ;D:\Qt\2009.05\mingw\bin;D:\Qt\2009.05\qt\bin

    这样就可以使用qmake -project、qmake、mingw32-make命令了

  • 相关阅读:
    .NetCore Grpc 客服端 工厂模式配置授权
    DOCKER 拉取 dotnet 镜像太慢 docker pull mcr.microsoft.com too slow
    Introducing .NET 5
    VSCode 出现错误 System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached.
    Omnisharp VsCode Attaching to remote processes
    zookeeper3.5.5 centos7 完全分布式 搭建随记
    Hadoop2.7.7 centos7 完全分布式 配置与问题随记
    MySQL索引 索引分类 最左前缀原则 覆盖索引 索引下推 联合索引顺序
    SQL基础随记3 范式 键
    MySQL调优 优化需要考虑哪些方面
  • 原文地址:https://www.cnblogs.com/start530/p/3834414.html
Copyright © 2011-2022 走看看