
将安装全套的Qt开发环境,可以在PC端进行qt开发。
Ubuntu1404的Qt版本为521,1604的Qt版本为551,高版本Qt库可以向下兼容运行低版本工具链编译的程序,因此这里选用521版本作为编译工具链。
进入Qt工程目录中,目录下会有个<工程名>pro文件,如果目录中存在<工程名>prouser文件,是之前qtcreator生成的配置文件,请先删除。然后运行:
即可完成编译,编译好的程序可以放到树莓派上直接运行。
另外,工程的配置可以通过修改 工程名pro文件,例如添加链接库,只需要在文件中添加如下选项:
添加c99支持:QMAKE_CFLAGS += -std=c99
一、如果在运行某软件或编译程序时提示缺少、找不到qtgui4dll等类似提示,您可将从脚本之家下载来的qtgui4dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。
二、您从我们网站下载下来文件之后,先将其解压(一般都是rar压缩包), 然后根据您系统的情况选择X86/X64,X86为32位电脑,X64为64位电脑。默认都是支持32位系统的, 如果您不知道是X86还是X64,您可以看这篇文章。
三、根据软件情况选择文件版本。此步骤比较复杂,如果是Windows的dll文件,
版本号以50开头的或含有 nt 一般是windows2000的文件。
版本号以51开头的或含有 xp、xpsp1、xpsp2、xpsp3 信息的一般是windowsXP的文件。
版本号以60开头的或含有 longhorn、vista 信息的一般是windowsVista的文件。
版本号以61开头的或含有 win7 信息的一般是windows7的文件。 如果不是windows的dll文件,则需要灵活查看版本号、描述、网友提供的信息、以及相关dll的版本号去判断。
四、直接拷贝该文件到系统目录里:
1、Windows 95/98/Me系统,将qtgui4dll复制到C:\Windows\System目录下。
2、Windows NT/2000系统,将qtgui4dll复制到C:\WINNT\System32目录下。
3、Windows XP/WIN7/win10系统(64位系统对应64位dll文件,32位系统对应32位dll文件),将qtgui4dll复制到C:\Windows\System32目录下。
4、如果您的系统是64位的请将32位的dll文件复制到C:\Windows\SysWOW64目录,具体的方法可以参考这篇文章:win7 64位旗舰版系统运行regsvr32exe提示版本不兼容
五、打开"开始-运行-输入regsvr32 qtgui4dll",回车即可解决。希望脚本之家为您提供的qtgui4dll对您有所帮助。
1vs2017安装
2QT5122安装时选择源码
3Python275版本或之后版本,不支持Python3
1以管理员权限打开vs2017 x64_x86
2开启64位机器上编译32位vs脚本
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsamd64_x86bat"
3切换到qwebengine目录
cd D:\Qt\Qt5123\5123\Src\qtwebengine
d:
4D:\Qt\Qt5122\5122\msvc2017\bin\qmakeexe -- -webengine-proprietary-codecs
5nmake && nmake install
6等待编译结束
登录/注册
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-451targz
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-451_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-451_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-451_static 指明静态编译的Qt安装的目录,命名Qt-451_static是为了区别动态编译安装的Qt,因为如果没有这个参数,安装时会覆盖之前动态编译安装的Qt(如果有的话)。
4、没问题后
make
5、make没问题后再
sudo make install
6、增加(或改变)环境变量:
在你home目录下你的的名字的目录中,在profile文件中追加(或改变)如下环境变量:(为Qt设置一些特定的环境变量,这个很重要!profile文件是隐藏的,可在你的名字目录下,按Ctrl+H显示所有文件查看到)
QTDIR=/usr/local/Trolltech/Qt-451_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-451_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)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。所以其优缺点与动态编译的可执行文件正好互补。
以上就是关于QT交叉编译环境全部的内容,包括:QT交叉编译环境、Qt程序如何判断能兼容到哪个qt版本、Qt5.12.2编译qwebengine开H264支持等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)