我在 VS 2008 中有一个创建 DLL 的解决方案。然后我在另一个应用程序中使用该 DLL。如果我进入 DLL 项目属性页并更改 DEBUG 构建的以下配置,则构建的 dll 将不再提供所需的功能。如果我把它改回来并重建 DLL,那么 DLL 确实提供了正确的功能:
属性页 => 配置属性 => C/C++ => 代码生成 => 运行时库
如果设置为“多线程调试 DLL (/MDd)”
所有 DLL/调试代码生成都必须与使用它们的所有内容相匹配。可能有另一个引用的库或对象或 dll 或其中的某些代码是使用错误的选项构建的;或覆盖全局项目选项的单个元素的特定选项。
解决这个问题的唯一方法是仔细检查每个文件的所有选项,检查包含和引用的库(.lib 和 .dll)以及目标文件。还要检查链接器选项。
它不起作用的原因可能是因为调试版本在内存周围添加了额外的保护块以允许检测错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)