我想这样做的原因是调试库中充斥着额外的"断言"语句,这些语句在远程调试期间需要很长时间才能开始。
我希望这只是在Code Generation
中用Multi-threaded DLL (/MD)
替换Multi-threaded Debug DLL (/MDd)
->Runtime Library
但我想知道是否还必须考虑其他变化?
这是可行的,也是远程调试大型复杂应用程序的良好做法,也同样在混合调试和发布库/二进制文件中进行了说明 - 不好的做法?.
除了将链接库从Multi-threaded Debug DLL (/MDd)
切换到Multi-threaded DLL (/MD)
之外,还需要考虑调试宏,例如_ITERATOR_DEBUG_LEVEL
,否则它们在链接过程中可能会发生冲突。指示此类混淆的典型错误消息是error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL'
解决所有冲突的宏后,它将链接到标准运行时库,但应用程序的调试符号仍然存在。
另外,@Adrian鼹鼠感谢在这件事上的协助。