程序中需要调用很多不同路径下的dll,如果在PATH中设置这些路径,程序当然没有问题。
我现在想在vc2005中调试该程序,希望能不需要设置PATH环境变量就能正确调试,不知道在开发环境中能否配置好搜索路径【经过测试,在“工具-选项-可执行文件”中设置dll的路径,那么调试的时候还是会提示找不到dll】。
我现在想在vc2005中调试该程序,希望能不需要设置PATH环境变量就能正确调试,不知道在开发环境中能否配置好搜索路径【经过测试,在“工具-选项-可执行文件”中设置dll的路径,那么调试的时候还是会提示找不到dll】。
-------------------------------------------------------------------------------------------------------------
我觉得自己专门写个类来维护这些路径比较好。
-------------------------------------------------------------------------------------------------------------
VS2005中工程编译选项 debugging environment,自己设置path
-------------------------------------------------------------------------------------------------------------
直接将所需DLL都拷贝到system32里应该可以吧
-------------------------------------------------------------------------------------------------------------
Visual C++
Windows 用来定位 DLL 的搜索路径
通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32.dll 和 User32.dll。
Windows 用来定位 DLL 的搜索路径
通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32.dll 和 User32.dll。
Windows 然后按下列顺序搜索 DLL:
1. 当前进程的可执行模块所在的目录。
2. 当前目录。
3. Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
4. Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
5. PATH 环境变量中列出的目录。
1. 当前进程的可执行模块所在的目录。
2. 当前目录。
3. Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。
4. Windows 目录。GetWindowsDirectory 函数检索此目录的路径。
5. PATH 环境变量中列出的目录。
如果按你的你的想法,需要在path环境变量中,增加一个myprog/dll的路径项
或者简单点放到Windows系统目录
-------------------------------------------------------------------------------------------------------------
写入注册表
(1) 写入注册表有两个问题:一是程序更加复杂;二是不好区分相同dll的不同版本
(2) 直接将所需DLL都拷贝到system32里应该可以吧
问题同上
关键的问题是:我要用到的dll涉及到几十种不同功能,因此一般地要求放在不同路径之下;二是这些dll在我的计算机中有很多不同的版本,有的用来做调试,有的用来做发布,还有的保存着做测试等等。
因此,希望能在开发环境中设置多个路径,用来搜索dll,即类似LIB的搜索路径设置功能。
(2) 直接将所需DLL都拷贝到system32里应该可以吧
问题同上
关键的问题是:我要用到的dll涉及到几十种不同功能,因此一般地要求放在不同路径之下;二是这些dll在我的计算机中有很多不同的版本,有的用来做调试,有的用来做发布,还有的保存着做测试等等。
因此,希望能在开发环境中设置多个路径,用来搜索dll,即类似LIB的搜索路径设置功能。
-------------------------------------------------------------------------------------------------------------
1. copy to system32
2. copy to current dir
2. copy to current dir