• 9886阅读
  • 23回复

[提问]Qt4生成不了release版本怎么办啊……呜呜呜~~~ [复制链接]

上一主题 下一主题
离线coding_ali
 

只看楼主 倒序阅读 楼主  发表于: 2011-05-31

今天用Qt4+Qt creator 开发了一个小软件,都是用的debug,最后做出来时想生成release版本,但是发现居然不可以,网上查了一下,几乎没有这方面的,有一个人说是环境变量没设置好,但我设置了啊…………

不解啊,不解,大家有遇到过这种情况吗????
离线浪漫天使
只看该作者 1楼 发表于: 2011-05-31
工程设置里面
离线jdwx

只看该作者 2楼 发表于: 2011-05-31
哪能呢!还是没设置好。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线coding_ali

只看该作者 3楼 发表于: 2011-05-31
回 1楼(浪漫天使) 的帖子
额…………我设置了啊,也编译通过了,但运行的时候出现  无法定位动态链接库QtCore4.dll但是我已经把这个动态链接库添加到System里面了……………… 就是不能运行  郁闷啊 郁闷啊~~

离线coding_ali

只看该作者 4楼 发表于: 2011-05-31
回 1楼(浪漫天使) 的帖子
额…………我设置了啊,也编译通过了,但运行的时候出现  无法定位动态链接库QtCore4.dll但是我已经把这个动态链接库添加到System里面了……………… 就是不能运行  郁闷啊 郁闷啊~~
离线coding_ali

只看该作者 5楼 发表于: 2011-05-31
回 2楼(jdwx) 的帖子
额…………我设置了啊,也编译通过了,但运行的时候出现  无法定位动态链接库QtCore4.dll但是我已经把这个动态链接库添加到System里面了……………… 就是不能运行  郁闷啊 郁闷啊~~
离线sfissw
只看该作者 6楼 发表于: 2011-05-31
新建工程项目的时候没有选中release吧?
离线dbzhang800

只看该作者 7楼 发表于: 2011-05-31
Re:回 2楼(jdwx) 的帖子
引用第5楼coding_ali于2011-05-31 20:00发表的 回 2楼(jdwx) 的帖子 :
[表情] 额…………我设置了啊,也编译通过了,但运行的时候出现  无法定位动态链接库QtCore4.dll但是我已经把这个动态链接库添加到System里面了……………… 就是不能运行  郁闷啊 郁闷啊~~


不要重复回帖,这样只会打击其他人回复的积极性。

你应该介绍,你装的是Qt Frameworks 还是Qt SDK,你拷贝的QtCore4.dll 来自Qt还是QtCreator,等等
离线coding_ali

只看该作者 8楼 发表于: 2011-05-31
回 6楼(sfissw) 的帖子
选中了,已经生成了……但出现  无法定位动态链接库QtCore4.dll   这个啊……无法运行
离线jdwx

只看该作者 9楼 发表于: 2011-05-31
需要将这4个dll复制到exe目录,就能运行。或者设置环境变量。绝对不要把QT的dll放到system目录里,容易出现更复杂的问题。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线coding_ali

只看该作者 10楼 发表于: 2011-05-31
回 9楼(jdwx) 的帖子
额…………我现在添加了……也还是不行啊……


对了 那个环境变量怎么设置啊………………求教啊…………
离线coding_ali

只看该作者 11楼 发表于: 2011-05-31
回 7楼(dbzhang800) 的帖子
我拷贝的来自于Qt   这个有什么区别吗??真心求教~~~
离线jdwx

只看该作者 12楼 发表于: 2011-05-31
mingw编译器的dll
X:\Qt\2010.05\mingw\bin 里两个
X:\Qt\2010.05\qt\bin 里两个(QTXXXXX.dll)

发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线coding_ali

只看该作者 13楼 发表于: 2011-05-31
回 12楼(jdwx) 的帖子
啊…………啊…………我已经被那个环境变量搞晕了,我Qt安装在C盘 C:\Qt\4.7.2    我creator安装在了D盘  D:\Qt\qtcreator-2.1.0    这个到底该怎样添加……啊……
离线xlttap

只看该作者 14楼 发表于: 2011-06-01
在pro文件中加上:
CONFIG += release \
                      staticlib         // 这里用静态编译,就不用去链接QT的动态库
然后make生成的就是release版本。
我简单我快乐
离线coding_ali

只看该作者 15楼 发表于: 2011-06-01
回 14楼(xlttap) 的帖子
还是不行啊…… ……编译成功,但运行时提示 无法定位动态链接库QtCore4.dll   (我是在windows   Qtcreator环境下编译的)
离线jdwx

只看该作者 16楼 发表于: 2011-06-01
晕,
1:确定你的编译器是mingw?
2:把你放到system里的QTdll全部删除
3:把和QT相关的环境变量全部删除
4:用QTCreator重新编译
5:在QTCreator里运行你的程序
如果运行正常:
6:把那个Release目录里的EXE放到一个空目录里
7:双击运行EXE
8:根据提示找到缺少的dll,复制到EXE目录,多次重复找到所有缺少的dll,
一般GUI程序是四个dll,见前面图。
9:完成
说明:用QTCreator编译运行不需要设置环境变量。


发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线coding_ali

只看该作者 17楼 发表于: 2011-06-01
回 16楼(jdwx) 的帖子
…………嘿嘿 终于好了, 太感谢了!!!!
但是我还有一些问题,希望你解答一下,真心求教:是不是Qt编译出来的所有GUI程序都需要这四个动态链接库呢,如果是的话那每个程序都要有这写动态链接库有点麻烦啊,嘿嘿~~;还有一个,Qt Creator可以再linux上运行吗?生成程序会不会像在windows上这么简单……??
离线jdwx

只看该作者 18楼 发表于: 2011-06-01
这四个dll是必须的,如果程序在复杂些可能还需要其它的dll。
linux不熟,用过几天,QT的特点就是跨平台,QTCreator用法一样,如果代码写的没有平台相关性,是可以直接在linux编译运行。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线飞风在路

只看该作者 19楼 发表于: 2011-06-01
要搞这么多dll,还不如直接的将Qt静态编译,生成一个exe,也不需要什么dll
离线coding_ali

只看该作者 20楼 发表于: 2011-06-01
回 18楼(jdwx) 的帖子
嗯,谢谢哇…………
离线coding_ali

只看该作者 21楼 发表于: 2011-06-01
回 19楼(飞风在路) 的帖子
静态编译…………????貌似很强大 ,求详解,求详解……
离线guuyan

只看该作者 22楼 发表于: 2011-06-01
拷贝错文件了,猜的,应该拷C:\Qt\2010.05\qt\bin这个路径下的
离线coding_ali

只看该作者 23楼 发表于: 2011-06-01
回 22楼(guuyan) 的帖子
快速回复
限100 字节
 
上一个 下一个