问一个Qt程序发布的问题。
我在Win7上面写了一个Qt的程序。然后我把编译的二进制文件,还有Qt的库(就是那些dll)放在一个文件夹下面,然后就能用了。
现在我打算把这个东西发给我的同事用,但是在同事的电脑上面运行的时候,发现提示缺少vcruntime之类的。
问题:Win下面的Qt程序,有什么比较规范的打包发布方法吗? 使用depends.exe能看见执行文件需要的dll。
有什么办法能让程序自动把这些东西都提取出来吗? 你是vc编译的吧,vc安装好有vcredist_x86/x64.exe。要不你静态链接vc的库吧 本帖最后由 fender0107401 于 2016-07-07 19:25 编辑
hellioncu 发表于 2016-07-07 17:02 static/image/common/back.gif
你是vc编译的吧,vc安装好有vcredist_x86/x64.exe。要不你静态链接vc的库吧
我试试。
实在是不熟悉Win下面的开发。 回复 2# fender0107401
按我的经验,把编译的二进制文件还有程序依赖的所有dll 复制到一个文件夹下面,打个 zip 包发给“用户”就行了。 {:yxh45:}
当然高级一些要用到 windows 下的安装包生成工具,比如这个: https://sourceforge.net/projects/nsis/不过其实我也没用过这个。 {:yxh119:}
zhujiang73 发表于 2016-07-08 16:07 static/image/common/back.gif
回复 2# fender0107401
我就是希望能有个程序帮我把所有的dll都给copy出来,自己弄的话,太费劲了。:em16: hellioncu 发表于 2016-07-07 17:02 static/image/common/back.gif
你是vc编译的吧,vc安装好有vcredist_x86/x64.exe。要不你静态链接vc的库吧
也是也不是。
我确实是安装了VS2015,但是编译的时候是用Qt Creator来编译的。
Qt Creator应该是调用了VS2015里面的工具链。 我就是希望能有个程序帮我把所有的dll都给copy出来,自己弄的话,太费劲了。
这个有办法吗?? fender0107401 发表于 2016-07-08 23:13 static/image/common/back.gif
我就是希望能有个程序帮我把所有的dll都给copy出来,自己弄的话,太费劲了。
"使用depends.exe能看见执行文件需要的dll",都知道 dll 的名字了最多写个脚本 copy 一下,本人一般都是手工拷贝。 {:yxh93:}
另外 Visual Studio Tools里有一个命令行工具 dumpbin , “ dumpbin/dependents d:\test.exe ”可以导出程序依赖的 dll 列表。 Qt在windows下有两个环境的包,一个是vc的,从2008到2015.另一个是mingw的。你发布的时候,一是带qt自己的dll,另外就是要带vc或mingw的。
VC有个工具 DEPENDS.exe 可以看带哪些dll。其实不用工具也有办法:在一台没装开发环境的机器上运行,提示少哪个dll,就搜索复制一个。
页:
[1]