Qt Creator写的小程序在Creator软件中能运行,但在目录当中直接点击EXE运行不了。

刚接触Qt,下载了个forWindwos安装包装上了。并照着书试着了第一个小程序,但遇到了不少问题。首先在QtCreator软件界面里构建程序后在软件界面里点的运行,所写... 刚接触Qt,下载了个for Windwos安装包装上了。并照着书试着了第一个小程序,但遇到了不少问题。首先在Qt Creator软件界面里构建程序后在软件界面里点的运行,所写的小程序能正常启动。但在文件目录中直接点击生成的EXE文件却显示各种dll链接库找不到之类的错误信息。貌似将DLL文件复制进程序目录后就不再提示了。但是有时找不到DLL文件所有位置。请问正常情况下应该怎么设置?另外如果链接库链接正常了,如果正常发布程序时,要怎么将DLL链接库打包进目录里?还是说要手动的完成? 展开
 我来答
百度网友914ba41
2013-10-22 · TA获得超过1608个赞
知道小有建树答主
回答量:1217
采纳率:50%
帮助的人:936万
展开全部
正常情况下应该设置系统的环境变量 把creator目录的bin和lib都加到环境变量里 这样就不会再提示找不到动态库了
追问
那如果程序完成了,要发布了,那么DLL动态链接库要手动复制进目录里?然后打包发布?否则别人电脑运行程序时不是也找不到链接库
追答
对 是这样的 所以就有静态编译产生了 但是目前好像QT只对付费版提供此项功能 所以只能把需要的库都复制过来 一起发布
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Linmson
2013-10-23 · TA获得超过138个赞
知道答主
回答量:124
采纳率:100%
帮助的人:129万
展开全部
  要发布release版本的程序,当然要把相关的库文件一起打包发布,你看看我们自己电脑上安装的软件,哪一个目录底下不是好多dll,那些库文件都是打包做成安装包发布给我们的啊。当然也可以采取静态编译的办法解决此问题,不过静态编译还要重新静态编译Qt库,那就很麻烦了。
  不过对于资源文件,比如图片什么的,可以做成资源文件,编译进可执行文件,以避免找不到文件的问题。要注意:如果是采用资源文件的方式,那么在程序里就不要写文件的相对或绝对路径了,要按照资源文件的路径来写文件名。
追问
问题是在编译的时候如何让DLL文件自动导进目录里,还是说这个步骤必须手动复制进去?
追答
  这部分不属于编译管的,你只能自己将相关dll打包。
  你可以使用Dependency Walker tool工具,就是一个depends.exe的程序,来查看一个exe文件跟哪些dll关联。将那些目标机器上没有的dll都复制出来。你也可以将这些dll、exe用一些安装包制作软件制作成安装包给别人使用。
  需要注意的是:如果你想在互联网上发布程序作品,请注意版权问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式