我在Windows XP 32 SP3下使用Visual Studio 2005 Pro SP1来构建两个本机EXE,A和B. A启动B.我的开发系统出现以下情况,现在也是我的测试系统。
当我将A和B链接到运行时库的调试版本时,A很高兴地启动,但随后无法启动B,因为系统的加载器无法找到运行时库的调试版本。
我有一个关于为什么会这样的理论:调试器以某种方式将运行时库的调试版本以不会传播到A的方式放入DLL搜索路径中,因此当加载器尝试解析B的导入时,找不到运行时库的调试版本。
克服这个问题的最佳方法是什么?查找包含运行时库的调试版本并将其父目录添加到DLL搜索路径的文件似乎是最简单的方法,但我不禁想知道为什么调试器没有为我做这个。也许它有充分的理由我不应该试图进行二次猜测。
如果这是正确的方法,我怎样才能避免将完整路径名硬编码到相关目录?
想法?