Ubuntu下QT源码编译详细过程

合集下载

qt cmake编译流程

qt cmake编译流程

qt cmake编译流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,sentence excerpts,ancient poems,classic articles,topic composition,work summary,word parsing,copy excerpts,other materials and so on,want to know different data formats andwriting methods,please pay attention!1. 安装 Qt 和 CMake确保你已经安装了 Qt 开发环境和 CMake 工具。

Ubuntu下嵌入式Qt开发环境配置全攻略

Ubuntu下嵌入式Qt开发环境配置全攻略

Ubuntu下嵌入式Qt开发环境配置全攻略本文以友善之臂的Mini6410嵌入式开发板为目标板,介绍ubuntu 12.04系统下,配置嵌入式Qt开发工具的过程。

本文中介绍的工具、大部分步骤和脚本来自开发板附带资料光盘,但其默认配置环境为老旧的Fedora 9.0,在ubuntu中配置过程已需要修正。

一、背景众所周知Qt是一个跨平台的开发工具,与本文相关的分支有3个,分别是Linux下的Qt桌面版(基于X Window),嵌入式桌面环境Qtopia(Qt Extended)和嵌入式基础类库Qt Embedded。

嵌入式桌面版拥有集成开发工具Qt Creator,方便进行Qt 程序的设计,默认配置用于开发桌面程序,进行交叉编译设置(有时间待后文详述)后,可以直接编译嵌入式程序。

Qt Embedded也称Qt/E,是运行于嵌入式Linux的Qt基础类库,目前最高版本为4.8(不确定)。

它的图形界面直接工作于Frame Buffer 上,绕过了窗口管理系统,具有较高的效率,适于嵌入式环境。

Qtopia是一个嵌入式桌面环境,以Qt Embedded(在某些版本中称Qtopia Core)为基础,在后期改名为Qt Extended。

它提拥有一个桌面,并供了手机/PDA中常用的基本功能软件(如电话本等等),在4.4.3后官方停止开发(或改由开源社区维护)。

不同的开发目标应当选择不同的开发工具和环境,如果读者不开发桌面程序,也不需要Qt Creator(自己写makefile),可以不用安装桌面版,但装上对后续配置还是有一定方便作用的。

对嵌入式开发者来说,如果仅仅开发单独的图形界面程序,不需要嵌入式桌面的话,只使用Qt/E即可,没必要使用过时的Qtopia。

友善之臂开发板默认的Qtopia环境是2.2,已经与4.x的Qt/E库不兼容,除了演示自带程序外,对开发而言几乎不堪用。

开发板还提供了Qt Extended 4.4.3,但这个环境提供的是一个诺基亚功能机的界面,基本上也只能供学习研究使用了。

qt用 mingw 编译

qt用 mingw 编译

qt用 mingw 编译使用MinGW编译Qt应用程序是一个相对直接的过程。

以下是一般的步骤:1. 安装MinGW:下载并安装MinGW。

你可以从MinGW的官方网站或使用包管理器(如apt-get)来安装它。

2. 安装Qt:下载Qt的源代码或预编译的二进制文件。

解压到你的工作目录。

3. 配置Qt版本:打开命令行工具,并导航到Qt的源代码目录。

使用`configure`脚本配置Qt版本。

例如,要配置Qt ,你可以运行:```bash`configure -static -opensource -confirm-license````4. 编译Qt:使用MinGW编译器运行`make`命令来编译Qt库和工具。

例如:```bash`make````编译过程可能需要一段时间,具体取决于你的硬件性能。

5. 安装Qt:运行`make install`来安装Qt库和工具到你的系统上。

6. 设置环境变量:确保你的系统环境变量中包含了Qt的路径。

例如,你可能需要设置`PATH`变量以包含Qt的bin目录。

7. 创建和编译Qt应用程序:使用Qt Creator或任何文本编辑器创建一个新的Qt项目。

在项目文件中指定编译器为MinGW。

编译并运行你的应用程序。

8. 调试:使用GDB或其他调试器进行调试。

确保你的MinGW安装包含了调试器。

9. 其他注意事项:确保你的MinGW版本与Qt版本兼容。

有时,新版本的MinGW可能不完全与旧版本的Qt兼容。

如果遇到任何问题,查看Qt的官方文档或在线社区论坛可能会有所帮助。

10. 清理:在完成编译后,你可能想要运行`make clean`来清理编译过程中生成的文件,以便于下次编译。

请注意,具体的步骤可能会根据你使用的Qt版本和操作系统有所不同。

始终参考最新的Qt文档和资源以获取最准确的信息。

qt6源码编译范文

qt6源码编译范文

qt6源码编译范文Qt是一种跨平台的C++应用程序开发框架,可以用于开发应用程序、游戏、嵌入式设备等各种软件。

Qt6是Qt框架的最新版本,带来了许多新功能和改进,如更强大的QML支持、全新的图形渲染引擎等。

本文将为您详细介绍如何编译Qt6源码。

首先,编译Qt6源码之前,您需要按照Qt的官方文档中的指导安装依赖软件包。

具体来说,您需要安装以下软件包:1. C++编译器:Qt6源码需要使用C++17标准,所以您需要安装支持此标准的C++编译器。

对于Linux环境,您可以使用gcc或clang编译器,对于Windows环境,您可以使用MSVC编译器。

2. CMake:Qt 6使用CMake作为主要的构建工具。

您需要安装CMake的最新版本。

3. ninja:ninja是一个高效的构建工具,可以加速构建过程。

Qt 6强烈推荐使用ninja作为构建工具。

4. Perl:Qt构建过程中需要使用Perl脚本。

您需要安装Perl的最新版本。

静态构建Qt2.配置构建过程:在源码目录中打开命令行终端窗口,运行以下命令配置构建过程:```shellmkdir buildcmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=<install_prefix> ..```其中, `<install_prefix>` 是您想要安装Qt的目标目录。

3.开始构建:运行以下命令开始构建Qt6:```shellninja```这将开始构建Qt6的所有模块。

构建过程可能需要一段时间,具体时间取决于您的计算机性能。

4.安装Qt6:构建完成后,运行以下命令将Qt6安装到之前指定的目标目录:```shellninja install```动态构建Qt动态构建Qt与静态构建类似,主要区别在于配置构建过程时需要添加`-DBUILD_SHARED_LIBS=ON`参数,将构建设置为动态库模式。

qtdesigner 源码编译

qtdesigner 源码编译

在进行Qt开发时,使用Qt Designer可以非常便捷地创建GUI界面。

但是有时候我们需要对Qt Designer做一些定制化的修改,这时候就需要对Qt Designer的源码进行编译。

本文将指导读者如何进行Qt Designer源码的编译,希望对读者在Qt开发中遇到类似问题时有所帮助。

一、准备工作1.1 确认Qt版本首先要确认自己所使用的Qt版本,Qt Designer的源码需要与Qt版本匹配才能够进行编译,否则会出现一些不兼容的情况。

确认Qt版本的方法是在Qt Creator中点击“关于Qt”,就可以查看当前使用的Qt版本。

1.2 安装Qt源码在进行Qt Designer源码编译之前,需要先安装Qt的源码。

如果在安装Qt时没有选择安装源码,则需要重新安装Qt并选择安装源码。

安装源码的方式是在Qt安装界面选择“自定义”,并勾选上“Qt源码”。

1.3 安装编译工具进行Qt Designer源码编译需要用到一些编译工具,比如CMake、Ninja等。

可以通过包管理工具安装这些工具,比如在Ubuntu中可以通过apt命令安装,Windows中可以通过chocolatey或者scoop等包管理工具安装。

二、下载源码2.1 下载Qt Designer源码Qt Designer源码可以在Qt冠方全球信息站上进行下载,也可以通过Git从Qt的仓库上进行克隆。

建议使用Git进行克隆,因为这样可以方便地进行更新和维护。

2.2 克隆源码使用Git克隆Qt Designer源码的命令如下:git clone xxx这样就可以将Qt Designer的源码克隆到本地。

三、配置编译3.1 创建编译目录在进行Qt Designer源码编译之前,需要先创建一个编译目录。

这样可以保持源码目录的整洁,方便进行后续的维护和更新。

可以在源码根目录外创建一个名为“build”的目录,这个目录将用于进行编译。

3.2 配置编译环境进入“build”目录,执行以下命令进行配置:cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/path/to/Qt/ /path/to/qt-creator其中,“/path/to/Qt/”是Qt的安装路径,“/path/to/qt-creator”是Qt Designer源码所在的路径。

解决Ubuntu下使用linuxdeployqt打包Qt程序问题

解决Ubuntu下使用linuxdeployqt打包Qt程序问题

解决Ubuntu下使⽤linuxdeployqt打包Qt程序问题写了点Qt界⾯程序,然⽽发现很难移植到其他没有安装Qt环境的电脑上运⾏。

查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打包。

1. 配置Qt环境⾸先,我们先把Qt环境配置好,在~/.bashrc中加⼊:export PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/bin:$PATHexport LD_LIBRARY_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/lib:$LD_LIBRARY_PATHexport QT_PLUGIN_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/plugins:$QT_PLUGIN_PATHexport QML2_IMPORT_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/qml:$QML2_IMPORT_PATH其中/home/xl/Qt5.9.2/5.9.2/⽬录要根据⾃⼰电脑上安装的Qt路径进⾏修改。

然后执⾏sourec ~/.bashrc使配置⽣效。

2. 编译linuxdeployqt虽然有放出编译好的包,但是由于我使⽤的是Ubuntu18,系统版本过⾼,因此还是选择编译代码的⽅式。

为了避免编译好的包运⾏时检测到我们的系统版本过⾼,不继续执⾏的问题,我们编译前,将tools/linuxdeployqt/main.cpp中的下述代码注释掉:// openSUSE Leap 15.0 uses glibc 2.26 and is used on OBS/*if (strverscmp (glcv, "2.27") >= 0) { //注释版本检查qInfo() << "ERROR: The host system is too new.";qInfo() << "Please run on a system with a glibc version no newer than what comes with the oldest";qInfo() << "currently still-supported mainstream distribution (xenial), which is glibc 2.23.";qInfo() << "This is so that the resulting bundle will work on most still-supported Linux distributions.";qInfo() << "For more information, please see";qInfo() << "https:///probonopd/linuxdeployqt/issues/340";return 1;}*/然后就可以使⽤cmake和make进⾏编译。

QT2编程步骤(黄)

QT2编程步骤(黄)

虚拟机情况:共有3个系统:分别是1、D:\My Virtual Machines\Ubuntu-2\Ubuntu-2.vmx(OK6410开发板,Ubuntu 9.10系统)2、D:\My Virtual Machines\Ubuntu 12.04\Ubuntu 12.04.vmx(根据OK335开发板资料建的)3、E:\ folinx_unbuntu.vmxQT2是在第一个系统里写的程序。

虚拟机中Qt版本的情况QT2的ARM版本存放路径:/root/yizhi/qtopia-free-2.2.0/(编译通过)QT2的PC机版本存放路径:/root/yizhi/host/(没有编译通过)QT4.4.3的ARM版本路径:/opt/witech(没有编译通过)QT4.7.1的ARM版本路径:/opt/witch(编译通过)QT4.7.1的PC机版本可以通过集成开发环境Qt Creator生成。

经常用到的命令:1、虚拟机上的:#env 查看环境变量#file hello 查看二进制可执行文件hello是AMR版本还是PC机版本#gcc –v 查看gcc版本,类似的还有arm-linux-gcc、arm-linux-gcc++、uic等如果要查看的工具不再环境变量指定的路径下,要把绝对路径加上2、开发板上的命令:#chmod 777 hello 更改权限#pwd 显示当前路径#vi 文件名打开查看或修改文件#sz 文件名把开发板的文件拷贝到PC机桌面#ls –l 查看当前目录下所有文件的属性#ls –a 查看当前目录下隐藏文件#./qt/hello –qws & 执行hello可执行文件#qtopia & 运行qtopia系统QT2应用程序的制作在《QT环境的建立-6410版》中的最后已经有过介绍,下面在详细介绍一下。

一、设置虚拟机环境变量第一种方法:写到脚本qtenv里,脚本内容如下#!/bin/bashexport QTDIR=/root/yizhi/qtopia-free-2.2.0/qt2 //qt在虚拟机的路径export QPEDIR=/root/yizhi/qtopia-free-2.2.0/qtopia //qte在虚拟机的路径export LD_LIBRARY_PA TH=$QTDIR/bin:$QPEDIR/lib:$LD_LIBRARY_PA TH //qt库文件的路径export TMAKEDIR=/root/yizhi/qtopia-free-2.2.0/tmake //qt中的tmake的路径export TMAKEPA TH=$TMAKEDIR/lib/qws/linux-arm-g++ //生成ARM版本的应用程序的linux-arm-g++路径export PA TH=/usr/local/arm/4.3.2/bin:$PA TH //交叉编译器的路径写好的脚本在虚拟机桌面上,在新打开的终端里执行#./qtenv,和#source /etc/profile环境变量才能生效,终端一旦关闭,设置就失效。

linux下配置QT

linux下配置QT

一、下载Qt源码包到本机,然后解压缩#tar zxvf qt-x11-opensource-src-4.3.2.tar.gz -C /usr/local //将qt-x11-opensource-src-4.2.3.tar.gz 源码包解压缩到/usr/local目录(推荐解压缩至/usr/local目录)二、进入用户家目录的.bash_profile文件设置Qt环境变量,在这里我们以root用户以例。

#vi /root/.bash_profile //打开root用户.bash_profile文件在root用户.bash_profile文件中设置环境变量,在此文件里面添加如下内容:QTDIR=/usr/local/qt-x11-opensource-src-4.3.2.tar.gzPA TH=$QTDIR/bin:$PA THMANPA TH=$QTDIR/doc/man:$MANPA THLD_LIBRARY_PA TH=$QTDIR/lib:$LD_LIBRARY_PA THexport QTDIR PA TH MANPA THLD_LIBRARY_PA TH添加完上面信息后按ESC键,“Shife+:”组合键回到vi编辑器命令行状态,输入wq!(强制保存退出)三、添加完环境变量后,使环境变量立即生效:#source /root/.bash_profile四、进入Qt解压缩的目录#cd $QTDIR或#cd /usr/local/qt-x11-opensource-src-4.3.2.tar.gz都可以,因为在/root/.bash_profile文件已经定义了环境变量QTDIR= /usr/local/qt-x11-opensource-src-4.3.2.tar.gz和export QTDIR 。

五、使用configure工具来构建Qt库和它提供的工具:./configure(./configure --help 配置选择的列表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

10 .QT10.1 qt的源码编译安装编译源码的所需工具和库X11:1. apt-get install libX11-dev libXext-dev libXtst-dev2. apt-get install xorg-dev3. apt-get install libtool4. apt-get install autoconf5. apt-get install g++ARM:1 apt-get install qt3-dev-toolsapt-get install qt4-qmake2 安装触屏支持库tslib-1.4tar -zxvf tslib-1.4.tar.gzcd tslib进入tslib目录下,目录内容如图10-1所示:图10-1 tslib./autogen.sh该shell脚本的正确的执行过程如图10-2所示:图10-2 autogen.sh执行过程设置环境变量CC=arm-linux-gcc讲ac_cv_func_malloc_0_nonnull=yes重定向输入到arm-linux.cacheecho "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache执行configure文件./configure --prefix=/opt/ts/ --host=arm-linux --cache-file=arm-linux.cache执行make编译make执行make install安装make install检验是否安装成功,在/opt/ts/下面存在的四个文件夹,则安装成功,如图10-3所示:图10-3 ts安装目录X11版本编译安装过程:第一步:解压工程路径:/home/lizhangjie/install目标文件:qt-everywhere-opensource-src-4.6.3.tar.gz通过tar命令将目标文件解压到工程路径下:tar –zxvf qt-everywhere-opensource-src-4.6.3.tar.gz注意:tar.bz2结尾的压缩文件才会用到-jxvf 参数。

解压之后会得到文件夹qt-everywhere-opensource-src-4.6.3,编译该源码得到的最终是X11版本的,我们后面还要编译ARM版本。

第二步:执行configure文件我们首先的通过执行configure文件,让系统按照configure文件生成各级Makefile。

cd qt-everywhere-opensource-src-4.6.3,qt-everywhere-opensource-src-4.6.3文件夹下的内容,如图10-3所示:图10-3 qt-everywhere-opensource-src-4.6.3执行完configure命令之后,直接make进行编译,时间大约2.5小时。

最后执行make install。

以上三个命令执行完之后,可以在/usr/local/Trolltech/查看是否有文件夹Qt-4.6.3,有则说明已经编译并安装成功,如图10-4所示:图10-4 安装目录ARM版本的编译:第一步:解压通过tar命令将目标文件解压到工程路径下:tar –zxvf qt-everywhere-opensource-src-4.6.3.tar.gz通过命令mv qt-everywhere-opensource-src-4.6.3 qt-embeded-opensource-src-4.6.3-arm我们需要的是qt-embeded-opensource-src-4.6.3-arm文件夹。

图10-5所示:图10-5 qt-embeded-opensource-src-4.6.3-arm第二步:执行configure文件./configure -prefix /usr/local/Trolltech/Qt-4.6.3-arm -release -shared -fast -xplatform qws/linux\-arm-g++ -embedded arm -depths 16 -no-qvfb -no-qt3support -qt-sql-sqlite -qt-zlib -qt-libpng -qt-\ freetype -qt-mouse-tslib -no-mouse-pc -no-mouse-linuxtp -nomake examples -nomake demos -nomake docs -nomake tools -I/opt/ts/include -L/opt/ts/lib图10-6 configure 成功执行完configure命令之后,还需要修改三个文件:cd qt-embeded-opensource-src-4.6.3-arm1. /src/3rdparty/freetype/include/freetype/config/ftconfig.h330行"orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */2. /src/3rdparty/webkit/WebCore/Makefile14行和15行-D__ARM_ARCH_4T__图10-7 Makefile修改3. /src/script/Makefile14行和15行-D__ARM_ARCH_4T__第三步:make编译和make install安装直接make进行编译,时间大约2.5小时。

最后执行make install。

以上三个命令执行完之后,可以在/usr/local/Trolltech/查看是否有文件夹Qt-4.6.3-arm,有则说明已经编译并安装成功,如图10-8所示:图10-8 Qt-4.6.3-arm10.2 第一个qt工程第一步:设置qmake的编译版本X11在/usr/local/Trolltech/ Qt-4.6.3 创建setenv.sh,编辑添加的内容为:#!/bin/bashQTDIR=/usr/local/Trolltech/Qt-4.6.3PATH=$QTDIR/bin:$PA THLD_LIBRARY_PA TH=$QTDIR/lib:/opt/ts/lib:$LD_LIBRARY_PATH然后执行source setenv.sh。

第二步:创建工程目录并qmake编译工程目录:/home/lizhangjie/qt/helloworld创建hello.cpp的C++源文件,编辑内容:#include <QApplication>#include <QLabel>int main(int argc, char *argv[]){QApplication app(argc, argv);QLabel *label = new QLabel("Hello Qt!");label->show();return app.exec();}然后qmake –projectqmakemakeARM在/usr/local/Trolltech/ Qt-4.6.3-arm 创建setenv.sh,编辑添加的内容为:#!/bin/bashQTDIR=/usr/local/Trolltech/Qt-4.6.3-armPATH=$QTDIR/bin:$PA THLD_LIBRARY_PA TH=$QTDIR/lib:/opt/ts/lib:$LD_LIBRARY_PATH然后执行source setenv.sh。

在开发板上创建/opt/文件夹将linux上/opt/ts拷贝到开发板的/opt/下,然后进入./ts/etc/ts.conf修改第二行,将#号和空格去掉,如图所示:进入到/usr/local/Trolltech/Qt-4.6.3-arm/lib通过命令cp XXXXXX -d /utuLinux2.6/s3c2440_recover/usr/local/Trolltech/Qt-4.6.3-arm/lib将linux本机上的四个库文件及其相关的连接符号文件一起考到开发板的文件夹下。

(-d 参数会同时修改链接符号文件指向)。

XXXXXXlibQtCore.so.4.6.3libQtSql.so.4.6.3libQtNetwork.so.4.6.3libQtGui.so.4.6.3实例:cp libQtCore.so* -d/utuLinux2.6/s3c2440_recover/usr/local/Trolltech/Qt-4.6.3-arm/lib/修改添加开发板/etc/profileexport LD_LIBRARY_PA TH=/lib:$LD_LIBRARY_PATHexport QTDIR=/usr/local/Trolltech/Qt-4.6.3-armexport QPEDIR=$QTDIRexport T_ROOT=/opt/tsexport PA TH=$T_ROOT/bin:$PATHexport LD_LIBRARY_PA TH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATHexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export TSLIB_TSDEVICE=/dev/event0export TSLIB_PLUGINDIR=$T_ROOT/lib/tsexport TSLIB_CONFFILE=$T_ROOT/etc/ts.confexport TSLIB_CALIBFILE=/etc/pointercalexport QWS_KEYBOARD=USB:/dev/input/event1export QWS_MOUSE_PROTO=Tslib:/dev/event0export QWS_DISPLAY=LinuxFb:mmWidth45:mmHeight60:0export QWS_SIZE=320x240然后qmake –projectqmake这里需要修改Makefile:修改当前生成的Makefile在19行的最后加上-ltsLIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.6.3-arm/lib -lQtGui -L/opt/ts/lib -L/usr/local/Trolltech/Qt-4.6.3-arm/lib -lQtNetwork -lQtCore -lpthread –lts进到开发板的lib库下面cd/libln -s libstdc\+\+.so.60.0.3libstdc\+\+.so.6并且在开发板根目录下面创建/tmp/目录make执行可执行文件时要在后面加上–qwsFAQ:1执行自己的qt程序之前,请先执行/opt/ts/bin/ts_calibrate校准触摸屏,不然自己的qt程序不能使用触摸屏,会提示:Could not read calibration: "/etc/pointercal"2。

相关文档
最新文档