【发布时间】:2012-07-04 17:45:27
【问题描述】:
我有一个 VS 解决方案,其中包含两个项目,一个是 c++,另一个是 c# 中的 GUI。这个 c# 项目调用 c++ 项目进行计算。当我在我的机器上运行它时,它在调试模式下运行良好,但是当我尝试在没有 Visual Studio(调试构建)的机器上运行它时,它无法获取 c++ dll,但是如果我在发布模式下构建解决方案然后尝试运行,然后它在两台机器上运行良好。有人可以解释为什么会这样吗?
【问题讨论】:
我有一个 VS 解决方案,其中包含两个项目,一个是 c++,另一个是 c# 中的 GUI。这个 c# 项目调用 c++ 项目进行计算。当我在我的机器上运行它时,它在调试模式下运行良好,但是当我尝试在没有 Visual Studio(调试构建)的机器上运行它时,它无法获取 c++ dll,但是如果我在发布模式下构建解决方案然后尝试运行,然后它在两台机器上运行良好。有人可以解释为什么会这样吗?
【问题讨论】:
您正在链接到 C++ 项目的调试运行时。
要么将其设置为发布,要么将链接器选项设置为不使用调试运行时。
【讨论】:
这是因为 Visual Studio 附带了 C 运行时的调试版本(例如msvcr100d),没有它的机器上不存在这些版本。
【讨论】: