Linux-Ubuntu 下 Qt 4.7.1静态编译

合集下载

linux内核编译教程

linux内核编译教程

linux内核编译教程Linux内核是开源操作系统Linux的核心部分,负责管理计算机的硬件资源和提供系统调用等基本功能。

编译Linux内核是根据自己的需求定制Linux系统的一个重要步骤。

本文将介绍如何编译Linux内核。

首先,要开始编译Linux内核,需要下载最新的内核源代码。

可以在Linux官网的下载页面找到相应的内核版本。

将源代码下载到本地后,解压缩到一个合适的位置。

接下来,需要安装一些必要的依赖包。

不同的Linux发行版可能有不同的依赖包名称,可以通过包管理器进行安装。

例如,对于Debian/Ubuntu系统,可以使用apt-get命令安装依赖包。

常见的依赖包包括gcc编译器、make工具、flex和bison等。

在安装完依赖包之后,进入解压缩后的内核源码目录。

可以通过cd命令切换到该目录。

在目录中可以找到一个名为.config 的文件,这是内核的配置文件。

可以通过复制现有的配置文件或者使用make menuconfig等命令进行配置。

配置完成后,可以开始编译内核了。

在内核源码目录中运行make命令,编译过程可能需要一些时间。

可以使用make命令的参数来设置编译的选项,例如使用-j参数指定并行编译的进程数,加快编译速度。

编译完成后,可以使用make modules_install命令安装内核模块。

然后,使用make install命令安装编译好的内核。

这些命令可能需要root权限才能执行。

安装完成后,需要更新系统的引导程序以启动新编译的内核。

具体的操作步骤可以根据不同的引导程序进行设置。

一般来说,需要编辑/boot/grub/grub.cfg文件,添加新内核的引导项。

最后,重启计算机,选择新编译的内核启动。

如果一切正常,系统将会以新内核启动。

在编译Linux内核的过程中,可能会遇到各种问题。

可以通过查找相关文档、咨询论坛或者向开发者社区寻求帮助来解决问题。

总之,编译Linux内核是一个复杂的过程,但通过理解以上步骤和不断实践,可以逐渐掌握这一技能,并根据自己的需求定制出适合的Linux系统。

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,但这个环境提供的是一个诺基亚功能机的界面,基本上也只能供学习研究使用了。

Linux 下编译、安装、配置 QT

Linux 下编译、安装、配置 QT

3、这就是本文用的方法,就是下载源码包,自己编译安装,最为麻烦,但是本来就是学习的,况且现在只能下载到源码包,那就先学习这种方法把。

软件下载QT有好几个下载网站,这里汇总介绍,自从诺基亚公司放弃Meego、遣散Qt开发团队以后,Qt商业版本的网站移到了,而开源版本则放到了 :1、首先是诺基亚的官方网站/这个是不太方便的,想快速下载的接着看后面的。

此网站需要填写用户名和邮箱地址,下载地址会发送到邮件里,我就把我收到的地址贴出来吧。

下面是邮件中的地址汇总。

这里面的linux源码是commercial版本。

Qt 4.8.4 for embedded Linux/developer/download/qt-everywhere-commercial-sr c-4.8.4.tar.gzInstalling Qt for embedded Linux/doc/qt-4.8/qt-embedded-install.htmlQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.tar.gzQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.tar.gzQt 4.8.4 for Windows (Src and VS2008 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 008.exeQt Visual Studio Addin 1.1.11 for Qt4 (Binary)/developer/download/qt-vs-addin-1.1.11.exeQt 4.8.4 for Windows (Src and VS2010 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010.exeQt 4.8.4 for Windows (Src and MinGW 32bit Binary)/developer/download/qt-win-commercial-4.8.4-min gw.exeQt Creator 2.6.1 for Windows (32bit Binary)/developer/download_creator/qt-creator-win-comm ercial-2.6.1.exeQt 4.8.4 for Windows (Src and VS2010 64bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010-64bit.exeQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.zipQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.zipQt 5.0.0 Offline SDK for Windows (32-bit Binary)/developer/download_50/qt-windows-commercial-5.0.0-msvc2010_32-x86-offline.exeQt Visual Studio Addin 1.2.0 for Qt5 (Binary)/developer/download_50/qt-vs-addin-1.2.0.exe2、QT-project网站下载/downloads这个网站就直接而且清晰多了,分类很清楚,如下图所示。

静态和动态编译QT

静态和动态编译QT

这时编译同样得到一个非常大的可执行程序(我写的这个贪吃蛇一共500多行,生成的exe有8M)。用AspPack压缩一下。就可以发给用户了(这时是2.6M)。
quote: “这样编译出来的程序比较大,可以先用strip命令去掉程序里面一些无用信息后,用ASPack或者UPX之类的压缩加壳软件压缩一下,两者的压缩率基本都达到30%多一点,压缩效果还是很明显的。”
删除其中的”-mthreads”
quote:
一般只有用到threads的时候才用到mingwm10.dll,我们通常遇到的”缺少 mingwm10.dll”问题,可以在程序qmake生成makefile.release文件后删除”-mthreads”参数即可,一般在 “LFLAGS”后面。当然,这只是临时解决方案,每次都要手动修改,也可以在编译QT前先修改qmake.h,不过不推荐这种方法。其实, mingwm10.dll也就十多K,每次发布程序时一起打包也无所谓。
这个过程需要1-2个小时。QT目录会变成1.8G左右。注:mingw32-make和make是一样的。
如果用VC2005平台,在编译Qt的时候,configure.exe -static -platform win32-msvc2005
然后nmake sub-src或者nmake release sub-src完成静态编译。
5 解决MinGW的mingwm10.dll依赖问题
在Makefile.release里找到:
LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -static -Wl,-s -Wl -mthreads -Wl, -subsystem,windows

qt静态编译程序

qt静态编译程序

qt静态编译程序
QT静态编译程序是指将QT程序编译成静态链接的可执行文件,该文件包含了所有依赖的库和资源,可以在没有QT运行
时库的环境中运行。

下面是一个简单的步骤来静态编译QT程序:
1. 准备编译环境:首先确保在系统中安装了所需的编译工具链(如GCC、MSVC等)和QT库的源代码。

2. 配置QT源代码:在QT源代码的根目录中,执行configure
命令来进行配置。

例如,对于Linux系统,可以执行如下命令: ./configure -static -prefix /path/to/qt/installation -release
这将配置QT使其支持静态编译,并指定安装目录和编译模式。

3. 编译QT库:执行make命令来编译QT库。

这个过程可能
会比较耗时,取决于系统的性能。

4. 安装QT库:执行make install命令来安装编译好的QT库到指定的安装目录。

5. 编译QT程序:使用静态链接方式编译QT程序。

在项目
的.pro文件中,添加如下配置:
CONFIG += static
这将告诉QT编译器使用静态链接方式。

6. 进行编译:使用qmake生成Makefile,然后执行make命令来进行编译。

7. 最终结果:编译完成后,将生成的可执行文件即为静态编译的QT程序。

可以将该文件复制到其他没有QT运行时库的环境中运行。

需要注意的是,静态编译会增加编译和链接的时间,并且生成的可执行文件可能会比较大。

此外,某些第三方库可能无法静态链接,需要根据情况进行调整和处理。

qt编译错误汇总

qt编译错误汇总

qt编译错误汇总0.预备知识:编译-运行一个c/c++程序时,编译器只默认的去连接c 库,而很多的库不是标准库1.linux下#inlude 命令默认头文件搜索路径为/usr/include,qt编程要用到的库qapplication库在usr/lib/qt-3.1/include下所以必须要用I增加路径。

如g++ -hello hello.cpp –I/usr/lib/qt-3.1/include 。

-I表示除了收索标准库,还要收索指定的额外头文件路径。

2.linux下的库,动态库为.so文件静态库为.a文件,编译运行时系统默认搜索的库为/usr/lib和/lib库。

linux下C库在/lib/libc.so.6路径下。

3.编译qt程序时要加上g++ -lqt …. lib库(相当于函数库集);-I:表示头文件额外搜索路径-L:表示要额外lib库搜索路径。

-l:表示表示指定具体的要连接(用到)的库(–lqt表示连接qt库)(qt不在默认lib库路径下,而在/usr/lib/qt-3.1/lib下,所以必须额外指定)4.为了简化编译时的指定路径和库的麻烦,可以设置环境变量:CPLUS_INCLUDE_PA TH:设置头文件搜索路径。

例如:export CPLUS_INCLUDE_PA TH=/usr/lib/qt-3.1/include //LD_LIBRARY_PA TH:设置动态库搜索路径。

例如:export LD_LIBRARY_PA TH =/usr/lib/qt-3.1/lib //注意qt比较特殊直接用LIBRARY_PAHT;在终端下输入env 和set命令可以显示环境变量。

5.qt下编译可用简便方法运行qmake –project 产生一个pro工程文件。

运行qmake 产生Makefile运行make 产生可执行程序6.查找一个文件用命令:which qmake7. qwidget.h是可视化窗口类。

Qt4.7移植

Qt4.7移植

1.移植tslib1.4.11.编译安装./autogen.sh./configure --host=arm-linux -disable-hp3600 --disable-arctic2 --disable-mk712 --disable-collie --disable-corgi --disable-ucb1x00 --disable-linear-h2200 --with-gnu-ld --prefix=/home/lengyuegg/tool/tslib ac_cv_func_malloc_0_nonnull=yesmakemake install2.修改tslib文件/home/lengyuegg/tool/tslib/etc/ts.conf去掉下面一行前的注释module_raw input3.下载到开发板把第一步生成的tslib整个文件下载到开发板随便放到开发板的某个目录下比如放到/home/lengyuegg/tslib4.验证cd /home/lengyuegg/tslib/bin./ts_calibrate2.移植Qt4.7.31.安装arm-linux-gcctar zxvf arm-linux-gcc-4.3.2.tgz把目录下的bin所在的路径加到环境变量里2.编译安装Qt./configure -embedded arm -release -opensource -silent -qt-libpng -qt-libjpeg -qt-libmng -qt-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -make demos -qt-kbd-linuxinput -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-qt3support -no-nis -no-cups -no-iconv -no-dbus -no-openssl -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia -svg -no-webkit -no-3dnow -no-sse -no-sse2 -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -no-glib -prefix /home/lengyuegg/Qt/Qt4.7.3-qt-mouse-tslib -I /home/lengyuegg/tool/tslib/include-L /home/lengyuegg/tool/tslib/libType '3' to view the GNU General Public License version 3.Type 'L' to view the Lesser GNU General Public License version 2.1.Type 'yes' to accept this license offer.Type 'no' to decline this license offer.yes生成Makefilemake (2个小时)make install3.字体设置复制wqy-zenhei.ttc到/home/lengyuegg/Qt/Qt4.7.3/lib/fonts目录下,这样中文就可显示正常了。

qt静态编译程序

qt静态编译程序

qt静态编译程序Qt静态编译程序是一种将Qt库和依赖项编译到可执行文件中的技术。

这种方法可以使程序更加可移植和独立,减少对外部依赖的需求。

静态编译的主要好处之一是不需要安装Qt库或其他依赖库。

这意味着用户可以轻松地在不同的系统上运行应用程序,而无需担心缺少必要的库文件。

此外,可执行文件的大小相对较小,不仅节省了存储空间,还可以加快启动时间。

静态编译也有一些潜在的挑战和注意事项。

首先,静态编译会增加构建和编译的时间,因为所有依赖库都需要在编译过程中链接到可执行文件中。

其次,如果Qt库或其他依赖库发生更新或修补程序,您可能需要重新编译您的应用程序。

因此,在选择静态编译时,需确保将来不会轻易地更换或更新依赖库。

为了成功地进行静态编译,必须确保正确配置编译环境。

您需要正确安装和配置构建工具链、Qt库和其他所需的依赖项。

在编译过程中,可能会遇到一些错误和警告。

您需要仔细查看这些错误并了解如何解决它们。

一个好的实践是在开始静态编译之前先进行动态编译。

这将确保您的应用程序在动态链接环境中正常工作,并确保没有其他易变的环境因素导致问题。

然后,您可以尝试将动态编译得到的可执行文件进行静态编译,以获得更大的可移植性和独立性。

总而言之,Qt静态编译程序是一项强大的技术,为您的应用程序提供了更好的可移植性和独立性。

通过将所有依赖项包含在可执行文件中,您可以确保应用程序在不同的系统上都能正常运行,而无需安装其他库文件。

尽管具有一些挑战和注意事项,但正确配置编译环境和仔细处理错误可以帮助您成功地进行静态编译。

希望这篇文章能够为您提供有关Qt静态编译的全面指导,让您熟练掌握这一技术,并有效地应用于您的项目中。

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

Qt的静态编译是本文介绍的内容,相比较来说windows的Qt静态编译比较容易,相反对于linux编译网上的文章实践下来都有这样那样的错误,这里简要小结一下自己的编译成果。

一、实验环境
1Ubuntu 10.04
2qt-x11-opensource-4.7.1.tar.gz
二、前期准备
在安装好Ubuntu 10.04后默认是没有安装程序编译软件包的,所以我们首先是要配置ubuntu。

配置方法:(推荐全程root用户模式)
1、首先调整网络设置使得机器可以上网(具体做法因人而异,这边就忽略不计)
2、需要配置的安装包:输入命令:
3apt-get install build-essential libpcap0.8-dev libx11-dev libfreetype6-dev
4libavahi-gobject-dev libSM-dev libXrender-dev libfontconfig-dev libXext-dev
三、静态编译Qt
1、下载qt-x11-opensource-4.7.1.tar.gz
2、解压缩qt-x11-opensource-4.7.1.tar.gz
3、配置path
输入命令:
5export PATH="$PATH:/usr/local/Trolltech/Qt-4.7.1/bin"
4、进入qt解压目录,配置configure命令:./configure -static -nomake demos
-nomake examples -nomake tools -no-exceptions
5、分别输入“o”和“y”以后进入编译阶段
6make
7make install
慢慢等吧……
四、静态编译Qt程序
1、建立文件夹,然后写程序文件XX.cpp
2、qmake -project
3、生成pro文件后在里面加入CONFIG += static
4、qmake
5、生成Makefile后在cxxflags的=后插入-static
6、make
小结:实现Ubuntu 下Qt4.7.1静态编译的内容介绍完了,希望本篇的静态编译读你有所帮助。

【编辑推荐】
8Qt中根据不同版本号使用不同源码
9解析Qt资源文件使用
10深度解析QT 介绍跨平台界面库
11Windows下Qt 静态编译连接
12浅谈Qt 静态编译
原文参考:/symbian-270510.htm。

相关文档
最新文档