- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows下Qt静态编译连接和生成程序的
mingwm10.dll、 libgcc_s_dw2-1.dll依赖问题解决
本文编写和程序配置调试: HYPERLINK mailto:蔚蓝(winland0704@126.com 蔚蓝 (winland0704@126.com )
HYPERLINK /winland0704/home /winland0704/home
一、官方Qt 库-MinGW版本(Qt Creator)静态编译和DLL依赖解决
1、MinGW版本
(1)MinGW官方版本(gcc-4.5.2)
使用dwarf2异常处理,默认使用动态C运行时库,默认生成的程序依赖:
libgcc_s_dw2-1.dll(105K)
libstdc++-6.dll(860K)
使用参数 -static 可以解除对以上dll依赖。
现在新版MinGW生成的程序默认已经不依赖mingwm10.dll了。
TDM-GCC版本(Codelite和CodeBlocks带的,gcc-4.4.1)
使用sjlj异常处理,默认使用静态C运行时库,默认生成的程序独立运行,无dll依赖问题。
MinGW Distro - 最新版本(gcc 4.6.0)
使用dwarf2异常处理,默认使用静态C运行时库,无DLL依赖问题。
QP-GCC版本(gcc-4.4.5)
使用dwarf2异常处理,默认使用静态C运行时库,无DLL依赖问题。
PCX版本,包括32bit和64bit版本的MinGW(最新有gcc 4.6测试版)
与(4)差不多,无DLL依赖问题。
Qt库自带的MinGW(gcc-4.4.0)
GCC配置信息:
D:\Qt\2011qtgcc -v
Using built-in specs.
Target: mingw32
Configured with: ../gcc-4.4.0/configure
--enable-languages=c,ada,c++,fortran,java,objc,obj-c++
--disable-sjlj-exceptions --enable-shared --enable-libgcj --enable-libgomp
--with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug
--enable-version-specific-runtime-libs --prefix=/mingw --with-gmp=/mingw/src/gmp/root
--with-mpfr=/mingw/src/mpfr/root --build=mingw32
Thread model: win32
gcc version 4.4.0 (GCC)
Qt带的这个MinGW比较老,gcc-4.4.0版,
使用dwarf2异常处理,默认使用动态C运行时库。编写helloworld控制台程序,main.cpp
#include iostream
#include cstdio
#include cstdlib
using namespace std;
int main(int argc, char **argv)
{
printf(Hello World!\n);
coutHello World!\n ;
system(PAUSE);
return 0;
}
①编译命令:g++ -o hello.exe main.cpp -mthreads
依赖DLL:
mingwm10.dll (12KB)
libgcc_s_dw2-1.dll(42KB)
生成的hello.exe有3.59MB。很大,莫名其妙。
②编译命令:g++ -o hello.exe main.cpp
依赖DLL:
libgcc_s_dw2-1.dll(42KB)
生成的hello.exe有3.58MB。
③编译命令:g++ -o hello.exe main.cpp -static
依赖DLL:无。
生成的hello.exe有3.67MB。
④编译命令:g++ -o hello.exe main.cpp -mthreads -static
依赖DLL:
mingwm10.dll (12KB)
生成的hello.exe有3.68MB。
最后一个命令我们看到一个有意思的现象,Qt带的这个MinGW的gcc-4.4.0里压根没有mingwm10.dll对应的静态库版本,所以存在-mthreads参数时,不管怎么用-static参数,它总是需要动态库mingwm10.dll,这就是官方Qt让人纠结的地方。
只要使用它自带的MinGW,在-mthreads参数启用时,
您可能关注的文档
- 水杯琴制作原理).doc
- 水暖与电暖优劣比较.doc
- 说理教育劝导机制,教育心理学.doc
- 说理式处罚决定书制作技巧.doc
- 水性无机富锌底漆涂装施工工艺和成品保护.doc
- 水悦云天入伙签约流程和注意事项.doc
- 丝印和移印区别.doc
- 思维定势和负面效应纠结.doc
- 思维定势效应.doc
- 四(2)许坤成动物王国求救信.doc
- 初中物理:GARCH模型在物理实验误差预测与风险评估中的应用教学教学研究课题报告.docx
- 改建年产2万立方米胶合板生产线报告表.pdf
- 1 《血液肿瘤化疗后感染患者护理风险因素分析及防范措施研究》教学研究课题报告.docx
- 高中物理课堂数字教育资源开发与教学效果评价教学研究课题报告.docx
- 基于数据可视化的中学教师数字教学能力评价方法创新研究教学研究课题报告.docx
- 2025年火电电力职业技能鉴定考试-热力发电厂笔试考试历年典型考题及考点含含答案.docx
- 创新思维培养与学生评价模式改革:数字化教育视角下的探索教学研究课题报告.docx
- 公共文化活动对学生高中阶段文化自信的培育策略研究教学研究课题报告.docx
- 初中历史教学中新手教师与专家教师数字教学策略比较教学研究课题报告.docx
- 小学生个性化学习社区智能推荐系统在英语阅读理解中的应用教学研究课题报告.docx
最近下载
- 高中数学第四章定积分4.3定积分的简单应用4.3.2简单几何体的体积教案.docx VIP
- TZSQX008-2020建设工程全过程质量行为导则.docx VIP
- 2024年山东省高中学业水平合格考生物试卷试题(含答案详解).docx VIP
- 高级教师职称评审答辩简答题.doc VIP
- 禁毒情报学习通超星期末考试答案章节答案2024年.docx VIP
- 北京市2024年艺术类专业考生综合分分数分布(一分一段表).pdf VIP
- 2025年乳腺癌诊疗指南(doc14页) .pdf VIP
- 篮球的起源与发展ppt课件.pptx VIP
- 网上调查赚钱经验及技巧总结.doc VIP
- ALPHA AS100说明书-V102用户手册.pdf
文档评论(0)