当前位置:首页 » 编程软件 » qt静态编译和动态编译体积

qt静态编译和动态编译体积

发布时间: 2023-03-23 19:35:07

A. Qt如何实现静态编译与动态编译共存

通常不需要在系统变量中加入Qt库的位置的。Qt Creator可以自动扫描到系统中存在的Qt库版本,如果扫描不到,可以通过Creator的 Tool->Options->Qt4中添加静态库的路径。而QDevelop虽然没有那么智能,但是可以手动指定INCLUDE和LIB的位置。或许,这根本就不是一个问题。如果怀念动态库,或者在产品发布之前并不想体验静态编译那种蜗牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要记得在Project中选择相应的版本。

B. Qt下如何编译库

一般分为动态库和静态库,方法分别如下:
一.
静态库的生成
1.
测试目录:
lib
2.
源码文件名:
mywindow.h,
mywindow.cpp
3.
编写项目文件:
mywindow.pro
注意两点:
TEMPLATE
=
lib
CONFIG
+=
staticlib
4.
生成Makefile:
qmake
mywindow.pro
5.
编译生成静态库libmywindow.a
make
二.
静态库的使用
1.
测试目录:
test
2.
将mywindow.h与libmywindow.a拷贝至test目录下
3.
编写main.cpp,
包含头文件mywindow.h,
并调用MyWindow类
4.
编写项目文件:
test.pro
注意加上库路径与库文件名:
LIBS
+=
-L
./
-lmywindow
5.
生成Makefile:
qmake
test.pro
6.
编译:
make
7.
运行:
./test
三.
动态库的生成
动态库编译基本和静态库类似,需要将上述将要进行编译的项目文件.pro中下面这行去掉
CONFIG
+=
staticlib
按上述操作编译完后就可以得到以lib开头并且.so*
结尾动态库文件,一般有多个。

C. QT 静态编译

qt 开源版本 不允许静态编译
可以将DLL打包,就能再其他的机器上运行了.
请采纳。

D. 请哪位来解释一下Qt静态编译和动态编译的区别

静态编译与动态编译的区别:
1、动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令。
所以其优点一方面是缩小了执行文件本身的体积,另一方面是加快了编译速度,节省了系统资源。
缺点一是哪怕是很简单的程序,只用到了链接库中的一两条命令,也需要附带一个相对庞大的链接库;二是如果其他计算机上没有安装对应的运行库,则用动态编译的可执行文件就不能运行。

E. QT动态编译和静态编译可共存吗

可以。
Qt只能动态编译。

F. Qt Creator 怎样设置才能实现静态编译

qt默认的编译方式是动态编译的,但是有时候编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译程序,qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:
1.将c:\qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的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\2010.05\qt\include"
-l
"c:\qt\2010.05\qt\lib"
-l指定一下路径,防止用到vc的头文

G. qt linux 生成的可执行程序程序20.7M,功能是正常的,但是不知道为什么这么大,请指教

你可能是静态编译,把QT功能包含的库和相关实现,都静态编译到可执行程序。
因为QT是图形界面,所以比较大。
可查看参考,希望对你有帮助。

H. 什么是qt动态编译

说简单点,你打开一些安装后的文件,比如在windows系统,会有一些dll文件。这些文件是程序运行过程中,按照需要动态加载级内存,如果暂时用不着某个功能,把dll从内存释放就行了。

动态编译的好处是exe文件小,适合版本升级(替换dll文件就行了)。
静态编译,就是只有一个exe文件,比较适合小程序,不升级的程序。
我们写qt,写着玩,qt默认是动态编译,其实我们的功能很简单,但不得不加载一堆dll,好几十M,程序才能在别的电脑上跑起来。

I. Qt5.12.5 静态编译以及裁剪大小对比

最近在研究用静态编译的 Qt 做个 Qt 的安装包程序,因为 nsis 在界面自定义还有多语言适配等问题上不太理想。做安装包程序基本上只需要有最基础的 Qt 界面模块即可,不过把除了 UI 的模块全部去掉又比较难用...这里记录下两种极端编译配置下生成的程序大小作为参考。

编译需要的环境可以看官方文档, windows-requirements 中的 Building from Source 有说明需要安装的工具,所有工具都记得要添加到环境变量。

最后的-mp 是多核编译的参数,多核编译用 jom 快得一匹,全模块也只要 20 分钟编译完成。

这个配置把能删的模块都删了,编译出来后基本也就基础UI相关类能用...所以编译起来超快的。

比全模块配置生成的exe减少了 30%的大小,不过 30%也就 3M,在 windows 平台的话倒是没必要追求这种极致了=-=

此时如果是移动了编译后的路径,可能报错 Qt version is not properly installed,please run make install 。在 qmake.exe 所在目录新建一个 qt.conf 文件,并添加下面的内容即可:

热点内容
solidworkspcb服务器地址 发布:2025-07-18 22:50:35 浏览:815
怎么在堆叠交换机里配置vlan 发布:2025-07-18 22:42:35 浏览:623
java调用别人的接口 发布:2025-07-18 22:37:35 浏览:433
服务器四个节点如何联网 发布:2025-07-18 22:36:02 浏览:271
华强北什么地方休安卓手机 发布:2025-07-18 22:24:56 浏览:735
数据库的根本目标 发布:2025-07-18 21:37:50 浏览:938
压缩机的流速 发布:2025-07-18 21:37:40 浏览:407
三星怎么取消手机密码 发布:2025-07-18 21:33:50 浏览:630
安卓手机耳机如何弹窗显示电量 发布:2025-07-18 21:20:53 浏览:60
云服务器搭建需要什么工具 发布:2025-07-18 20:51:08 浏览:322