我开发了vs2012的activex控件。 我发现它依赖于MSVCR110D.DLL和MSVCP110D.DLL。 (编辑:如果我使用发布模式dependent成为MSVCR110 MSVCP110) 所以这是问题所在。 因为客户计算机可能不是安装vc ++ 2012 distributable package。
我开发完成了...所以我怎样才能删除家属? (静态链接技术??)
我尝试设置配置: 使用mfc< - “在静态库中使用mfc”但它仍然包含依赖项。
我尝试将运行时库设置为“Multi-Threaded”(/ MT)并且必须将Configuration Type设置为“Static library(.lib)”,它似乎成功删除了dependents, 但是activeX控件不能是* .lib。它不能通过regsvr32工具进行重新分析。
我认为可能有一个解决方案:将activex控件构建到静态库,例如ctl.lib 并添加一个新的DLL项目(使用/ MT删除dependents msvcrxx)warp ctl.lib并导出它。可能吗?
(2013-11-26更新:嗨朋友们,我知道怎么做。 因为我的项目使用openssl,而openssl库构建在/ MD标志中,限制我的activex控件项目也必须使用/ MD编译器标志。 所以我用/ MT重建openssl,而activex也可以使用/ MT编译器标志。 :d 但... 最后的问题是windows server 2003或windows xp不能regesiter我的activex dll,win7 win2008可以做到。它可能是vs2012 bug,现在我安装vs2012“更新4”包,希望有效。 )
感谢任何帮助。抱歉,我的英文。