VS 2008中有一个解决方案来创建一个DLL.然后我在另一个应用程序中使用该DLL.如果我进入DLL项目属性页面,并更改以下DEBUG构建的配置,那么内置的dll不会提供所需的功能.如果我更改它并重建DLL,那么DLL确实提供了正确的功能:
属性页=>配置属性=> C/C++ =>代码生成=>运行时库
如果设置为“多线程调试DLL(/ MDd)”
那么一切都应该是正常的.我从DLL获取正确的功能
如果设置为“多线程DLL(/ MD)”,则DLL不能正常运行…没有运行时错误或任何东西,它不起作用(DLL应该在地图上绘制一些线,但不会在这种模式下).
所以问题是,为什么使用/ MDd标志会导致基础代码的修正功能,而/ MD会导致不正确的功能?
有一点背景…有人在C中开发了DLL,我在VB.net应用程序中使用这个DLL.