如何使用发布版本的第三方库调试XLL Excel插件?

时间:2016-09-22 00:48:53

标签: c++ excel visual-studio visual-studio-debugging xll

我正在开发构建XLL Excel加载项的C ++代码,为了能够使用Visual Studio 2013进行调试,我使用/MTd选项进行编译,即“多线程,调试模式”但遇到了这样的编译错误:

2>LIBCMT.lib(invarg.obj) : error LNK2005: "void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_invalid_parameter@@YAXPBG00II@Z) already defined in LIBCMTD.lib(invarg.obj)

根据Visual Studio - error LNK2005 in debug mode,这是因为链接LIBCMT(Microsoft运行时库,发行版)和LIBCMTD(调试版);解决方法是添加链接器选项/FORCE:MULTIPLE以强制构建,/NODEFAULTLIB:LIBCMT忽略LIBCMT

然而,在此之后我的XLL可以编译但无法调试,即在项目属性,配置属性 - >中。调试,我将Command设置为"C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.exe";在我启动Debugger后,从XLL键入一个公式调用函数,Visual Studio断点应该在这里触发但是失败。

我的XLL使用第三方组件,即数据库库。 是否所有代码都以/MTd模式编译,包括数据库库?或者我错过了什么,实际上有一种方法可以在Visual Studio中触发断点,即使第三方库没有在调试模式下编译?

0 个答案:

没有答案