首页| 论坛| 消息

标题:关于发布程序时带的DLL
作者:ninsun
日期:2010-06-24 11:21
内容:

不想用静态编译, 于是就把所需DLL放置在程序目录里. 但是发觉文件一多感觉就有些乱了...
有没有什么办法设置一下, 吧DLL放在一个统一的目录中呢. 例如 ./lib
尝试了半天, 只有通过bat设置环境变量才可以, 但是用bat会出现控制台窗口, 而且又多了一个文件... 总觉的不爽....
各位有什么办法吗... 多谢了.
PS: 现在发布的程序文件夹看起来是这个样

希望是这个样子的


#1 [ninsun 06-25 09:06]
没有人知道吗...
难不成要做个什么安装文件, 然后再安装的时候向系统添加环境变量吗...
想做成绿色程序啊...
#2 [cahwxy 06-25 10:04]
可以 把所有的dll 放在一个指定目录
但是在程序中要设定搜素dll的目录 比如你的 lib
#3 [ninsun 06-25 11:31]
引用第2楼cahwxy于2010-06-25 10:04发表的:
可以 把所有的dll 放在一个指定目录
但是在程序中要设定搜素dll的目录 比如你的 lib
问题就在于如何设定...
启动程序需要的DLL(例如QtCore4.dll, QtGui4.dll,libgcc_s_dw2-1.dll)是需要在环境变量里设定的, 甚至和程序启动无关的QtSvg4.dll也是需要在程序运行前设定位置...
我尝试在程序的main函数开头设定环境变量也没有用, 也就是必须在运行程序之前设定才有用...
QApplication::addLibraryPath只对程序运行起来以后, 配置插件路径起作用...
所以很纠结... 难道只能不去在意文件太乱了吗...
#4 [dbzhang800 06-27 11:39]
1. 首先,程序和dll放到一块真的很乱么?实际中大家一般很少去打开某个文件夹去启动某个程序吧(这样一来乱与不乱有什么关系呢)
2. 如果真的要实现你的功能,程序和动态库放子文件夹,子文件夹外放个快捷方式不就行了么?
3.如果不用快捷方式,既然bat文件都想到了,只是抱怨它的cmd窗口。何不自己写一个简单的不带控制台的程序,来启动你的主程序。
#5 [ninsun 06-27 14:14]
那我就考虑弄个启动器吧...

<< 1 2 >> (1/2)

回复 发表
主题 版块