• 6001阅读
  • 15回复

[提问]动态发布一个非常简单的Notepad的Qt程序,可dll的数量和大小为什么多和大?5.0.1版本 [复制链接]

上一主题 下一主题
离线kenierlee
 

只看楼主 倒序阅读 楼主  发表于: 2013-02-17

上图,我是按照文档的教程做的一个Notepad小程序,后来发现需要那么多的dll才能运行这个程序,请问各位大侠,这是必须的吗?
离线hitler++

只看该作者 1楼 发表于: 2013-02-17
必须的,吓死你了
离线jdwx

只看该作者 2楼 发表于: 2013-02-17
就是这样的。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线kenierlee

只看该作者 3楼 发表于: 2013-02-17
回 1楼(hitler++) 的帖子
呵呵,谢谢!
离线kenierlee

只看该作者 4楼 发表于: 2013-02-17
回 2楼(jdwx) 的帖子
我知道啦,谢谢!
离线adonais

只看该作者 5楼 发表于: 2013-02-17
这就是跨平台的代价
离线呆呆很呆
只看该作者 6楼 发表于: 2013-02-20
回 4楼(kenierlee) 的帖子
这里边有很多不需要的 如果不在乎大小(毕竟现在硬盘都很大)就不用了 如果在乎大小可以去掉很多
1.首先不用安装版 安装版有很多用不到的东西
2.下载源码包
3.自己编译 用-opengl desktop参数可以解除Angle的DLL依赖 icu不给他(就是你不装icu)会自动解除ICU的DLL依赖 (前提是你不用webkit模块 不过你应该也用不到 做记事本又不是做浏览器)
离线呆呆很呆
只看该作者 7楼 发表于: 2013-02-20
回 楼主(kenierlee) 的帖子
如果你还嫌太大还可以静态编译 会更小一点

提供一下那样做需要的DLL

Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
libstdc++-6.dll
libgcc_s_dw2-1.dll
platforms文件夹内:qwindows.dll

就这些  (没用线程)
离线roywillow

只看该作者 8楼 发表于: 2013-02-20
libstdc++-6.dll和libgcc_s_dw2-1.dll还可以通过给链接器传递-static-libgcc和-static-libstdc++来解除依赖
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线uidab

只看该作者 9楼 发表于: 2013-02-20
感觉还是4.X 这方面省心。但愿未来5.X能好些!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线roywillow

只看该作者 10楼 发表于: 2013-02-20
回 9楼(uidab) 的帖子
这些模块应该都是固定的不会发生大的变化了吧
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线呆呆很呆
只看该作者 11楼 发表于: 2013-02-20
回 8楼(roywillow) 的帖子
如果只是Qt应用程序中好像不行 因为Qt5Core依赖那两个DLL 尽管你的exe不依赖了还是没用 当然可以改conf文件使得编译Qt5Core的时候不依赖这两个DLL 那就不如直接加个-static静态编译了
离线roywillow

只看该作者 12楼 发表于: 2013-02-20
回 11楼(呆呆很呆) 的帖子
我在编译4.8的时候都是修改conf文件来取消这两个文件的依赖,但是依然采用动态链接,因为我想尽量减少dll的数量,同时又尽量保证动态链接提供的特性,比如插件机制(虽然我不用……)
另外静态编译我记得不添加这两个参数的话还是会依赖这两个dll的,至少qt4.6、4.7的时候我发现一些文章经常提到所谓“真正的”静态连接
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线呆呆很呆
只看该作者 13楼 发表于: 2013-02-21
回 12楼(roywillow) 的帖子
插件机制静态编译也可以用啊 静态编译不能用的只有webkit了吧
离线roywillow

只看该作者 14楼 发表于: 2013-02-21
回 13楼(呆呆很呆) 的帖子
我记得插件在静态编译的qt里只能静态连接进入程序中,多个插件就要重新编译一遍。难道是我记错了?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线呆呆很呆
只看该作者 15楼 发表于: 2013-02-22
回 14楼(roywillow) 的帖子
原来你是说这个 的确只能静态链接到程序 我还以为你说插件都不能用了
快速回复
限100 字节
 
上一个 下一个