【发布时间】:2011-02-02 06:40:42
【问题描述】:
我在 VS 2008 中有一个创建 DLL 的解决方案。然后我在另一个应用程序中使用该 DLL。如果我进入 DLL 项目属性页并为 DEBUG 构建更改以下配置,则构建的 dll 不再提供所需的功能。如果我改回来并重建 DLL,那么 DLL 确实提供了正确的功能:
属性页 => 配置属性 => C/C++ => 代码生成 => 运行时库
如果设置为 “多线程调试 DLL (/MDd)” 然后一切正常。我从 DLL 中获得了正确的功能
如果设置为 "Multi-threaded DLL (/MD)",则 DLL 无法正常运行...没有运行时错误或任何东西,它只是没有t 工作(DLL 应该在地图上绘制一些线,但在此模式下不能)。
那么问题来了,为什么使用 /MDd 标志会导致底层代码的功能更正,而 /MD 会导致功能不正确?
一点背景...别人用 C++ 开发了 DLL,我在 VB.net 应用程序中使用这个 DLL。
【问题讨论】:
标签: vb.net visual-studio-2008 dll visual-c++