VS2008 C++ 如何指定运行和调试时的dll路径?
举例如下:
有以下无误库.
D:\MyCppExLib\bin\A.dll
D:\MyCppExLib\include\A.h
D:\MyCppExLib\lib\A.lib
设置D:\MyCppExLib\include\和D:\MyCppExLib\lib\
至"工具"->"选项"->"项目和解决方案"->"VC++目录"中的 "包含文件" 及 "库文件" 中.
而后我有测试解决方案在
D:\MyProject\test\
工程在如下目录中
D:\MyProject\test\test\
测试工程内需调用A中函数.
已设置好链接器附加依赖项 "A.lib"
生成解决方案,编译无误得到test.exe于
D:\MyProject\test\Debug\
问题是,如何使得以下情况均得到满足?
A.双击D:\MyProject\test\Debug\中的test.exe
以及
B.在VS中执行(F5或Ctrl+F5)都能正确执行而不报错(没有找到A.dll)?
我做了以下试验.
1.将A.dll置于C:\WINDOWS\system32\ //A,B均可
2.将A.dll置于目录D:\MyProject\test\Debug\ //A,B均可(但若生成执行Release就要再复制A.dll至相应目录)
3.将A.dll置于目录D:\MyProject\test\test\ //A不可, B可
4.将A.dll置于目录D:\Program Files\Microsoft Visual Studio 9.0\VC\bin\ //A不可, B可
5.将D:\MyCppExLib\lib\添加至系统环境变量"Path"中. //A可, B不可
6.将D:\MyCppExLib\lib\添加至"工具"->"选项"->"项目和解决方案"->"VC++目录"中的 "可执行文件" 中. //A,B均不可
这么看下来好像只有试验1最满意了, 但是我又不想把dll往C:\WINDOWS\system32里扔而保持MyCppExLib的原样..
我重点想关心的是试验5,6.
如果试验6成功就完全满足我的需求了. (类似的情形在codeblocks中以试验6,完成A,B均可.)
让我奇怪的是试验5在B的情况下居然也不行...
后我在test的工程属性中也进行了各种尝试均以失败告终... 囧
零零散散敲了这么多,如果仔细看到这里辛苦您啦, 希望各位同仁帮忙~ 解惑试验5,6,或给出除试验1的另外方法