我为我支持的几个Windows名称空间扩展使用了一个名为EzNameSpaceExtension的框架。
该框架作为许多静态库提供,并且标头自动链接相应的库(发布/调试)(MBCS / Unicode)(Visual Studio的版本)。
我最近升级到Visual Studio 2015并且(因为他们的支持没有响应)编辑了标题以在VS2015版本中包含VS2013库。
这包括库,但现在链接正在尝试将mfc120.lib链接到构建(构建库中不再存在)。
假设我从未收到供应商支持人员的回复(我提出的最后一个问题花了6个月才得到答案),mfc120依赖是否可以用新的MFC库替换?如果是,我需要什么样的链接标志以及代码运行的可能性是多少?
答案 0 :(得分:0)
您还必须重新编译库。静态库为运行时创建了自己的依赖项。如果您没有源代码,则会丢失。
问题还在于某些导出的链接器链接可能匹配,但结构的二进制布局可能已更改。
您拥有的库必须与编译器和调试/发布模式匹配,如果它们不仅由外部DLL的入口点定义。
答案 1 :(得分:0)
库是否部署为源?如果是这样 - 在VS2015上重新编译它。如果没有 - 您最好的选择是在VS2013上构建整个解决方案。假设您仍然安装了VS2013,您仍然可以从VS2015 IDE(项目属性/配置属性/通用/平台工具集 - > 2013)执行此操作。您可以将IDE升级的好处保持到2015年,但却失去了编译器升级的好处。
技术上可能对2013和2015版本的MFC(以及相应的CRT,可能还有OpenMP等)都有重复依赖,但我会反对它。