㈠ QT编译环境搭建步骤
我也曾有过你这个困惑。在linux里qt的开发环境有3种:嵌入式、qvfb和x11,编译qt源码可以得到这三种环境。编译qt源码有三个步骤:配置(configure)、编译(make)、安装(make install)。三种环境仅仅在配置时有区别,网上很容易搜到具体做法。
㈡ 如何编译arm上运行的qt2可执行文件
编译好的QT的程序,一般会有几个.CPP\.h文件,这么多的文件我们要怎么样编译。首先,我们需要安装QT版本的库,一定要注意,这个库文件一定和开发板上的是同一个库。我们假设这个库名字叫qtembed450-arm。以下步骤一定要注意:
1.安装目录一定要在“/usr/local/”下;
2.安装成功后,这步非常关键,一定要设置环境变量,而且,我们要设置三个环境变量,这样做有三个目的:①可以在任何路径下用库里的命令②编译时候可以指定编译规则为arm-linux-g++③编译时候可以指定到所需要的库文件。那么安装后,输入一下命令:gedit /root/.bashrc.这个命令执行后就进入到设置环境变量的地方,我们要加入以下三个环境变量的设置:
export PATH=$PATH:/usr/local/qtembed450-arm/bin
export LD_LIBRARY_PATH=$LD_LTBRARY_PATH:/usr/local/qtembed450-arm/lib
export QMAKESPEC=/usr/local/qtembed450-arm/mkspecs/default
以上设置非常的重要,非常的关键。呵呵,先照着设置,具体原因我会细谈。注意,我编译用的很重要的qmake-arm 命令,就在/usr/local/qtembed450-arm/bin下,可以打开看看哦!环境变量设置好后,用which qmake-arm 命令来确认下是否成功,呵呵。
3.准备工作做到这里,算是进行一半了,哎,真累啊!还要接着写呢。接下来我们要把我们的编译好的QT程序的文件夹打开,把里面的 .CPP/.h文件拷贝出来,新建立一个文件夹;
4.把以上的文件里的.cpp .h文件复制后新建立一个文件夹。
5.新文件夹建立后,在linux终端中进入到该文件夹所在目录下,执行这个命令:qmake-arm -project命令,千万注意,-project 和arm之间一定要有空格啊!该命令执行后,会生成一个.pro文件,紧接着呢,执行qmake-arm命令,该命令执行后呢,会生成一个Makefile文件,这步很关键哦,没有这步就不会有Makefile文件,一般在这步会出现很多错误,就是库没有发现之类,这个时候,一定要检查前面的步骤,仔细检查看是否是错误。我们这个时候打开Makefile文件看一下,会发现,里面的编译已经变成arm-linux-g++。这个时候,就踏实,接下来怎么办?还用问吗,直接make下就好了,哈哈,简单吧!看到上面的qtmyjpg文件了吗?这个是可以在开发板上运行的哦!接下来不用我说了吧,直接发送到开发板上执行,可以看到图片喽!
6.下到开发板上之后呢,通常会发现没有权限,执行chmod +x qtmyjpg 就可以了,但是注意,要执行这个qtmyjpg文件,一定要这样输入命令:./qtmyjpg -qws为什么需要加这个参数呢?很简单,你不加执行时会出现错误原因,自己看下吧,哈哈!
7.一般这个时候触摸屏需要矫正。进入“/usr/tslib/bin/”,查看里面的文件,有一个“ts-calibrate”文件,执行这个文件,./ts-calibrate 后,可以看到LCD屏幕上出现十字点,用触摸笔点一下就可以,至此,整个QT在LCD上显示整理完毕,花了我半下午时间加上对曹老师的请教,终于完成,嘿嘿!赶紧试试哦!
㈢ 命令行编译qt程序 有几种方式
一、环境配置
1
要想使用Qt进行命令行编译,环境配置是必不可少的一步。环境配置好以后,我们才能使用相应的qmake,nmake等命令,并且链接到编译程序时所需要的头文件和库文件。
小提示:为了帮助大家解决环境配置的问题,新版Qt已经自带了相应的批处理文件,我们只要在编译前执行对应的批处理文件即可。
2
首先,我们在命令行编译时需要运行qmake.exe,因此我们需要将该文件的路径添加到PATH变量中。要想做到这一点,我们只需要执行Qt安装目录下的
Qt5.5.1\5.5\msvc2013\bin\qtenv2.bat 批处理即可。
3
其次,在编译过程中,我们还需要用到nmake命令,并且链接相应的头文件和库文件,以生成最终的可执行程序。要想做到这一点,我们只需要执行VS安装目录下的
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat批处理即可。
注意:由于我安装的是Qt for VS2013 32位版,所以运行的是vcvars32.bat,如果你安装的是64位版,请运行vcvars64.bat。
4
至此,环境配置就大功告成了。关于这个环境配置,需要特别指出的是,这个配置是临时性的,只在当前命令行窗口有效;也就是说,你关闭命令行窗口后,均需要重新运行相应的批处理文件。
END
二、命令行编译
首先,将以上两个批处理文件复制到要编译的工程目录中。
然后,点击菜单“文件”-“打开命令提示符”,在该目录下打开命令行窗口。
执行批处理文件qtenv2.bat。注意,由于该批处理会跳转到Qt安装目录,我们执行完毕后需要回到我们的当前目录(我这里由于Qt安装目录与当前目录不在同一个磁盘,只要切换磁盘便回到当前目录了)。
执行批处理文件vcvars32.bat。
下面,正式开始编译。首先,生成工程文件。键入命令:
qmake -project
说明:生成的工程文件名会与你当前的目录名同名。例如,我当前的目录名为test,生成的工程名则为test.pro。
接着,输入qmake test.pro,生成相应的Makefile文件。
最后,键入nmake,生成最终的可执行文件。
㈣ qtcreator生成的可执行文件路径
1、在Qt Creator下用release运行一遍程序,生成相应的EXE文件
2、将Qt Creator下编译的release下的ImageProcesser.exe复制到一个文件夹下;
3、在ImageProcesser.exe文件路径中,输入cmd显示命令行窗口;
4、在命令行模式下键入windeployqt ImageProcessor.exe,按回车键,软件依赖的文件将加载到当前目录中;
5、发布了realease版本的软件。
注意:如果显示“不是内部命令”,则windeployqt.exe文件是否位于冰冷的悟空目录下,以查找Qt的安装位置;如果不存在,则必须重新安装Qt软件; 如果存在,可以运行开始菜单下所有程序的Qt文件下的Qt for Desktop文件,将windeployqt.exe文件添加到系统环境变量中。
------------- -请参阅
配置分发软件图标
方法1 :
1、找到喜欢的图标,复制到项目的源目录中。
2、双击打开ICONproj.pro文件,在文件中添加行。
RC_ICONS=app.ico
单击左下角的锤子按钮并等待编译完成,即可查看生成的APP应用程序。
需要注意的是,我生成的APP应用程序所在的目录可能与你的目录不同。 您可能需要查找项目的同级目录。
3、图标设置成功。
方法2 :
1、在项目目录中创建新的文本文档,并将其重命名为proj.rc。
2、右键单击proj.rc,选择在记事本中打开。 输入以下内容:
idi _ icon1icondiscardable ' app.ico '
然后保存并关闭记事本。
3、打开ICONproj.pro,添加行:
RC_FILE=proj.rc
4、重建后,运行即可加载添加的ico图标。
㈤ ubuntu下qt如何编译.ui文件
登录/注册
Linux/Ubuntu下 静态编译Qt程序
转载205 阅读
mb5ff5917b5bbc5
2017-07-28 07:07:00
关注
一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的。会提示缺少……库文件之类的错误。这就是动态编译的结果。
但是如果我们想编译一个程序,这个程序在发给别人后,他们可以直接打开,而不需要特别地去先安装Qt库,那就需要采用静态编译了。
在Linux下如何静态编译Qt程序呢?
首先需要先安装静态编译的Qt,也就是静态编译Qt程序首先是需要一个静态编译安装的Qt
1、下载源安装程序,如 qt-x11-opensource-src-4.5.1.tar.gz
2、解压到某一目录
3、cd 进入解压后的目录,命令:
./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static
./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.5.1_static
参数-static 指的是要采用静态编译Qt的方法
参数-release指的是只编译release版本的库
参数-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg 是更好确定Qt编译出的程序能在目前不知的系统下运行。
参数-nomake demos -nomake examples 指的是不编译demos和examples
参数-qt-sql-sqlite 如果没有这个参数,configure的时候,可能会提示sqlite 有问题而中止。
参数 -prefix /usr/local/Trolltech/Qt-4.5.1_static 指明静态编译的Qt安装的目录,命名Qt-4.5.1_static是为了区别动态编译安装的Qt,因为如果没有这个参数,安装时会覆盖之前动态编译安装的Qt(如果有的话)。
4、没问题后
make
5、make没问题后再
sudo make install
6、增加(或改变)环境变量:
在你home目录下你的的名字的目录中,在.profile文件中追加(或改变)如下环境变量:(为Qt设置一些特定的环境变量,这个很重要!.profile文件是隐藏的,可在你的名字目录下,按Ctrl+H显示所有文件查看到)
QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
QTDIR=/usr/local/Trolltech/Qt-4.5.1_static/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
7、重启
8、在终端测试一下qmake
成功的话,下来用qmake编译出的Qt程序就是采用静态编译的。这时你会发现,静态编译出来的程序大小变大了相当多。
静态编译与动态编译的区别
动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。、
静态编译就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。所以其优缺点与动态编译的可执行文件正好互补。