社区
Qt
帖子详情
QT发布的问题
male110
2010-10-16 10:01:51
QT生成的EXE文件,依赖于QT的几个DLL,没有这些DLL运行不来。
有没有办法,让QT可以你静太MFC那样生成一个EXE就能运行的?
也就是QT如何静态编译。
我用的是VS2008
...全文
159
9
打赏
收藏
QT发布的问题
QT生成的EXE文件,依赖于QT的几个DLL,没有这些DLL运行不来。 有没有办法,让QT可以你静太MFC那样生成一个EXE就能运行的? 也就是QT如何静态编译。 我用的是VS2008
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pp0354030
2010-11-01
打赏
举报
回复
网上有静态编译的方法,不过都不是很详细,我试过一次,没编译出来!
blackfacewa
2010-11-01
打赏
举报
回复
藐视比较满发的
强天放
2010-11-01
打赏
举报
回复
你用的Qt什么版本?不成功,和版本有时候也有关系的
我用4.6.2的时候做静态编译,参考的是这篇文章http://www.cnblogs.com/mcxiaoke/archive/2010/05/12/1733801.html,测试成功。
VS2005静态编译
(VS2008编译同理,启动相应的命令行,设置相应的目标平台,修改相应的配置文件)
1.设置VS2005的环境变量
2.设置目标平台
set QMAKESPEC=win32-msvc2005
3.修改mkspecs/win32-msvc2005目录下的配置文件qmake.conf
将下面两行:
QMAKE_CFLAGS_RELEASE = -O2 -MD
QMAKE_CFLAGS_DEBUG = -Zi -MDd
修改为:
QMAKE_CFLAGS_RELEASE = -O2 -MT
QMAKE_CFLAGS_DEBUG = -Zi -MTd
(D是指dynamic,T是指static,d是指debug)
4.进入QTDIR目录,运行配置,生成Makefile文件
set QMAKESPEC=win32-msvc2005
configure -platform win32-msvc2005 -release -no-exceptions -opensource -static -fast -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-webkit -qt-style-windowsxp -qt-style-windowsvista
5.运行运行nmake /I /K
经过这样编译的Qt库不依赖于任何Dll文件(如微软的CRT运行时库),使用此Qt库编译Windows平台下的程序发布时不需要附带任何额外的Dll文件
dbzhang800
2010-11-01
打赏
举报
回复
1. 不需要Qt4 的动态库。容易,configure 时,只需添加 -static 选项即可
2. 不需要 Qt4 和编译器(比如VC9)的动态库,也可以实现
3. 不需要任何动态库。这个就不清楚windows的 kernel32 等核心库有没有静态版本了。
可参考
http://hi.baidu.com/cyclone/blog/item/25b262d9337a172310df9b78.html
lefttime
2010-11-01
打赏
举报
回复
[Quote=引用 3 楼 male110 的回复:]
当然可以,我是问有没有办法生成的不需要任何DLL
就像MFC有静态,动态。
静态的就不用任何DLL
[/Quote]
可以;
不过这之前你得有Qt的静态库 :)
SwingCodest
2010-11-01
打赏
举报
回复
应该可以吧。
male110
2010-10-16
打赏
举报
回复
当然可以,我是问有没有办法生成的不需要任何DLL
就像MFC有静态,动态。
静态的就不用任何DLL
lasvegas_xiang
2010-10-16
打赏
举报
回复
必须的dll加上就可以了
kapoo-pai
2010-10-16
打赏
举报
回复
复制到exe目录下不就行了了吗
qt4.dll, qtcore4.dll
白皮书:
Qt
集成Webkit渲染、使用和扩展网络技术
开源 WebKit 浏览器引擎与
Qt
4.5 应用程序和 UI 框架的集成模糊了本地应用程序与网络内容之间的界 限。有了此类混合模式的服务,就可以高效地构建和
发布
很难或无法仅通过网络 API 或本地开发环境单 独开发的功能。由于融合了网络技术的简易性和
Qt
应用程序框架的强大功能,设计人员和编码人员可 专注于自己最擅长的部分。本白皮书列举了一个简单的设计示例:可访问 Twitter 服务的跨平台应用程 序。该示例通过三个阶段,详细说明了如何使用集成了 WebKit 的
Qt
4.5,开发出渲染、集成和扩展网 络服务的本地应用程序。 白皮
Qt
程序的
发布
Qt
程序的
发布
QT
高级编程
QT
界面美化QSS
QT
网络编程
QT
绘图
QT
多线程视频课程
QT
核心基础概念体系编程实践
QT
Widgets图形窗口编程基础体系编程实践
QT
基础控件和高级复杂控件体系编程实践
QT
布局管理体系编程实践
QT
模型视图代理框架编程实践
QT
QSS式样表编程实践
QT
界面美化编程实践
QT
文件...
Qt
发布
版权
问题
,是否需要公开源码?开源版与商业版的区别?
商业软件应尽可能避免GPL和MPL,注意LGPL的使用规范和MIT的声明要求。具体看这里,有各个库类的协议类型,大部分还是MIT和BSD的。
Qt
发布
版权
问题
,是否需要公开源码?开源版与商业版的区别?
Qt
发布
版权
问题
,是否需要公开源码?开源版与商业版的区别?
Qt
开源版开发软件能商用么?
Qt
开源版开发软件能商用么?
Qt
开源版开发软件能商用么?
QT
程序
发布
方法
方法一 首先打开想要
发布
的程序所在的项目。 然后将右下角的Debug换成Release,Debug版本的程序非常大,因为有很多调试的信息。 接着,按Ctrl+R运行一遍,确保自己的程序没有
问题
,然后到程序的输出文件夹中。一般在项目目录的上一层目录的一个build文件夹中。 然后找到release文件夹,选择生成的exe文件,放到一个空白目录中。 仅仅一个exe是不能
发布
的,除非其它的电脑上也安装了
Qt
,并且添加了环境变量。我们需要一
Qt
16,240
社区成员
26,660
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章