Qt Creater怎么编译出静态连接的程序

Qt Creater怎么编译出静态连接的程序,第1张

Qt默认的编译方式是动态编译的,但是有时候编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译程序,Qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:
1将C:\Qt\201005\qt\mkspecs\win32-g++\qmakeconf文件中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
改为
QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
2在开始菜单里找到Qt Command Prompt并运行,输入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\201005\qt\include" -L "C:\Qt\201005\qt\lib"
-L指定一下路径,防止用到vc的头文件
选择开源:O;选择license:y;
3上一条命令运行成功后再输入命令: mingw32-make sub-src
等1 ~3 小时可能就运行完了 完成后就可以了。

用Qt551吧,同时有QtWebkit和QtWebEngine,官方预编译包还能支持XP系统
Qt56后没有QtWebkit了,官方预编译包也不支持XP系统,需要支持XP,自己编译。

方法一:把编译成功的exe文件放到你QT的安装目录下,例如:C:\Qt\201005\qt\bin,这样点击可以运行(软件运行依赖环境的)
方法二:在C:\Qt\201005\qt\bin这个路径下面,把软件需要的基本动态链接库文件拷贝到你的release目录下面
MINGWM10DLL
QtGui4dll
QtCore4dll
phonon4dll
方法三:比较笨哈,就是把C:\Qt\201005\qt\bin下面的动态库全部考到一个文件夹中,然后看着删,删除了不能运行的就留下,最后剩下的
就是必要的动态库文件了。
这个得看你软件里面用到了哪些控件,哪些功能,基本的就是这3个动态文件,如果有别的,你拷贝一下就可以了。
第二种方法简单,但是得看你的软件用那些服务了,如果用数据库,就得把数据库QtSql4dll的动态库加入到里面去,如果用网络了,再
把网络QtNetwork4dll等动态库加入到里面去,这么说,大家应该都懂得了吧。
这样就可以运行了。但文件还是可能显示不出来,解决办法:
把程序文件夹里,建立一个imageformats目录(必须是这个名字),把qt目录下的plugin/imageformats目录下对应的dll文件copy过去。这样动态连接就完成了。

*** 作系统是 Ubuntu 804,使用目前最新版本的QT 440,安装起来即为简单,只要运行以下命令就行:

sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer

注意在这个版本的软件包中,qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。其它的,qt4-doc 是帮助文档,包含了Qt中各个类库的详细说明以及丰富的例子程序,可以使用Qt Assistant 工具来打开阅读。qt4-qtconfig 是配置Qt环境的一个对话框,一般默认就行了,很少有必要去更改。qt4-demos 包含很多可以运行起来的可执行文件以及源代码。qt4-designer是用来设计GUI界面的设计器。

为了连接MySQL数据库,需要安装连接MySQL的驱动程序:

sudo apt-get install libqt4-sql-mysql

比起在Windows下安装和配置Qt的MySQL驱动来说,简直太方便了。如果还需要其它的没有默认安装的Qt库,可以在命令行输入 sudo apt-get install libqt4- 然后按tab键自动补全,就会列出所有以libqt4- 开头的软件包。

这些都可以使用一个命令搞定,而不需要自己从源码开始编译。在记不准或不知道名字的情况下,使用tab键列出所有可选的软件包是一个很实用的小技巧。

在我的项目中,还需要画一些数据曲线和统计图表等,而第三方的QWT库提供了这些功能。同样,只需要一个命令即可完成安装:

sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev

这时,打开Qt Designer,就会发现左边的Widget列表里面多了“Qwt Widget”这一组。

最后,关于集成开发环境我觉得QDevelop很不错,它跟Qt Designer结合的很好,而且有提示类成员函数的功能。运行以下命令安装:

sudo apt-get install qdevelop

这样,使用Qdevelop编写代码和编译、调试,使用Qt Designer设计界面,开发效率较高。

虽然网络上很多人使用 Redhat 或者Fedora 作为上位机 *** 作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。
虽然网络上很多人使用 Redhat 或者Fedora 作为上位机 *** 作系统,但是我觉得使用Ubuntu最为方便,因为需要的软件包大部分都可以通过 apt-get 方式来安装,而不必从源代码开始自己编译。要知道,自己编译源代码可不是一件轻松的事,因为在编译过程中经常会出现令人意外而且莫名其妙的错误。
我们使用的 *** 作系统是 Ubuntu 804,使用目前最新版本的QT 440,安装起来即为简单,只要在命令编辑运行以下命令就行:
sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
注意在这个版本的软件包中,qt4-dev-tools 包含了Qt Assistant及Qt Linguist等工具,因此不需要单独安装这两个工具。其它的,qt4-doc 是帮助文档,包含了Qt中各个类库的详细说明以及丰富的例子程序,可以使用Qt Assistant 工具来打开阅读。qt4-qtconfig 是配置Qt环境的一个对话框,一般默认就行了,很少有必要去更改。qt4-demos 包含很多可以运行起来的可执行文件以及源代码。qt4-designer是用来设计GUI界面的设计器。
为了连接MySQL数据库,需要安装连接MySQL的驱动程序:
sudo apt-get install libqt4-sql-mysql
比起在Windows下安装和配置Qt的MySQL驱动来说,简直太方便了。如果还需要其它的没有默认安装的Qt库,可以在命令行输入 sudo apt-get install libqt4- 然后按tab键自动补全,就会列出所有以libqt4- 开头的软件包,如下图所示:
这些都可以使用一个命令搞定,而不需要自己从源码开始编译。在记不准或不知道名字的情况下,使用tab键列出所有可选的软件包是一个很实用的小技巧。
在我的项目中,还需要画一些数据曲线和统计图表等,而第三方的QWT库提供了这些功能。同样,只需要一个命令即可完成安装:
sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev
这时,打开Qt Designer,就会发现左边的Widget列表里面多了“Qwt Widget”这一组。
最后,关于集成开发环境我觉得QDevelop很不错,它跟Qt Designer结合的很好,而且有提示类成员函数的功能。运行以下命令安装:
sudo apt-get install qdevelop
这样,使用Qdevelop编写代码和编译、调试,使用Qt Designer设计界面,开发效率较高。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13322183.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-14
下一篇 2023-07-14

发表评论

登录后才能评论

评论列表(0条)

保存