none
调试时找不到DLL的问题 RRS feed

  • 问题

  • 我编译了ACE(一个动态库),生成了ace.dll,然后将DLL所在目录添加到系统PATH变量中。

    但是调试的时候,总是找不到ace.dll,而实际上在/debug目录下,直接运行程序是正确的。

    难道必须把ace.dll复制到项目目录下? 

    VC在调试的时候是按什么顺序搜索DLL的?
    2009年12月11日 2:59

答案

  • 需要重新启动IDE。环境变量的变化只有在IDE启动的时候才会初始化。
    顺序:
    1被装载程序包的执行目录。 
    2当前目录。如果与执行目录不同的话。
    3:Windows系统目录
    4:Windows目录。
    5:Path中的目录。 

    具体引用的目录及顺序可以在IDE的VC++ Directories中,executable files列表中看到。 

    麻烦把正确答案设为解答。
    • 已建议为答案 CXMAN 2009年12月11日 6:23
    • 已标记为答案 wesley8086 2009年12月11日 6:30
    2009年12月11日 6:19
    版主