1

我在 Windows XP 32 SP3 下使用带有 SP1 的 Visual Studio 2005 Pro 来构建两个本机 EXE,A 和 B。A 启动 B。以下场景发生在我的开发系统上,目前这也是我的测试系统。

当我将 A 和 B 链接到运行时库的调试版本时,A 愉快地启动,但随后无法启动 B,因为系统的加载程序找不到运行时库的调试版本。

我有一个关于为什么会这样的理论:调试器以某种方式将运行时库的调试版本以不会传播到 A 的方式放入 DLL 搜索路径,所以当加载器尝试解析 B 的导入时,调试找不到运行时库的版本。

克服这个问题的最佳方法是什么?查找包含运行时库的调试版本的文件并将其父目录添加到 DLL 搜索路径似乎是最直接的方法,但我不禁想知道为什么调试器没有为我这样做。也许它有一个很好的理由,我不应该尝试事后猜测。

如果这是正确的方法,如何避免将完整路径名硬编码到相关目录?

想法?

4

0 回答 0