QT程序探测所需DLL,静态连接和打包
1. 如果没有使用静态编译的QT库的话,那么无论VS还是MinGW编译出来的exe程序都要带上一堆DLL,而且必须是准确版本的DLL,对于VS好像还有一个Microsoft.VC90.CRT.manifest的问题(目前还没搞懂)。探测所需DLL可以用以下三个工具之一:
MS Dependence
Dependency Walker
Process Explorer
其中Process Explorer最好,因为它准确的列出了当前运行程序需要的DLL的准确路径。前两个只是列出名字,可是一个机子上有许多同名DLL,到底哪个正确呢?所以就要靠这个工具了,然后一一拷贝到同一目录下即可。
2. 我在WIN7 x64下使用VS2008 SP1编译的程序不能直接在XP下运行,必须安装vcredist_x86.exe,这样太麻烦了,难道在x64下跑还要再带一个文件?貌似有办法:VS2008 编译的程序 Release 版本不装 vcredist_x86.exe 也能跑的解决方法:
http://hi.baidu.com/pass86/item/9cb37795d6d2f2f028164726
3. 打包工具:这里选用Enigma Virtual Box,待续。
-----------------------------------------------------------------
总结:最好既静态编译QT,不仅仅是为了减小文件,更主要是为了避免客户那里库文件混乱从而无法使用;其次是静态编译项目本身,避免携带vcredist_x86.exe。最后还可以打包,那就完美啦~
QT程序探测所需DLL,静态连接和打包的更多相关文章
- Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt动态连接库/静态连接库创建与使用,QLibrary动态加载库 本文地址:https ...
- dll静态调用和动态调用
动态链接库有2种连接方式,一种是通过库直接加入(又叫隐式加载或载入时加载),一种是在运行时加入.后者很好理解,比如LoadLibrary(),GetProcAddress()获取想要引入的函数,使用完 ...
- qt使用动态库(DLL)
本文主要讲解在QT开发环境中如何使用VC生成的DLL及QT自身生成的DLL.至于其它情况本文不作讨论. 连接库分为2种 (1)动态连接库,通常有.h .lib .dll三个文件,功能实现在dll中 ( ...
- c++调用matlab生成的Dll动态连接库
点击打开链接http://download.csdn.net/detail/nuptboyzhb/4228429 c++调用matlab生成的Dll动态连接库 实验平台: matlab 7.0(R ...
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
- Qt 5.9.4 如何静态编译和部署?
Qt 5.9.4 如何静态编译和部署? MSVC2015 x86 静态编译 Qt 部署静态库 VS2015 部署静态库 1. MSVC2015 x86 静态编译 1.1 Qt 官网下载最新源代码 立即 ...
- 易语言报错:无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 静态连接失败
今天下午搞易语言,在编写动态链接库以后,静态编译的时候出现以下提示: 无法定位链接器!请检查 tools\link.ini 中的配置是否正确. 静态连接失败 于是网上百度了下,找到相关的解决方法: 编 ...
- VC++静态连接库
目录 第1章静态连接库 1 1.1 同名函数的选择 1 1.2 模块合并 2 1.2.1 模块替换 4 1.3 内联函数 4 第1章静态连接库 静态连接库与动态连接库一样 ...
- Qt中加载Libevent静态库(通过reimp和rs两条语句将lib转为a)
文章来源:http://blog.sina.com.cn/s/blog_731bf4c90102wnpr.html 本文仅是个人经验总结,若有错误欢迎指教! 最近要做一个跨平台的项目,同时也涉及到网络 ...
随机推荐
- meta 页面元信息定义
禁止页面缓存 1.name属性 name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的. meta标签的name属性语法格 ...
- MSSQL Transaction[事务] and Procedure[存储过程]
--事务分三种 --1.显示事务 --我们手动begin transaction ...... commit transaction/rollback transaction --上面这种写法叫做“显 ...
- 程序开发心理学阅读笔记——第I篇
1.软件的任务是为了解决某一特定的问题,而软件开发者的任务却需要解决一系列问题.2.温伯格说,我们不能要求每个人都聪明异常,能够解决所有难题:但是我们必须持续思考,因为只有如此,我们才能明白自己在做什 ...
- c语言学习strcopy
自己写了一个字符串复制函数: #include<stdio.h> #include<assert.h> char *mystrcpy(char *des,char *ser) ...
- Java应用程序实现屏幕的"拍照"
有时候,在Java应用程序开发中,如:远程监控或远程教学,常常需要对计算机的屏幕进行截取,由于屏幕截取是比较接近操作系统的操作,在Windows操作系统下,该操作几乎成了VC.VB等的专利,事实上,使 ...
- selenium--嵌套frame定位
网页源码: 案例1 :iframe有id.name属性 网页上有3个frame:header.menu.main,分别代码顶部.左侧.右侧(其中menu.main在另外一个frameset中) 如何定 ...
- Vue2.0 vue-source.js jsonp demo vue跨域请求
以调用百度的输入提示接口为例 ===================================================================================== ...
- 【Tsinsen】【A1365】森林旅店
KD-Tree 啊哈~检验了一下自己KD-Tree的学习情况,还算可以,模板至少是记下来了. 支持插入(所以要带重建),查询最近的P个点的距离. 然而题目并没有说是按怎样的顺序输出这P个点?...(事 ...
- 【BZOJ】【1798】【AHOI2009】Seq维护序列
线段树 属于线段树中级应用吧…… 要打两种标记:乘法和加法标记.一开始我想着可以像只有加法标记那样,永不下传,查询的时候依次累加就好了.后来发现不会写……只好每次update的时候……遇到标记!下传! ...
- java中的匿名内部类
匿名内部类在java编码中不是很常见,它可一让类实现多继承的特性(多个父类~1个子类) java中的匿名内部类总结http://www.cnblogs.com/nerxious/archive/201 ...