【问题标题】:How can you link to a different version of MFC from a Visual C++ project in Visual Studio 2010?如何从 Visual Studio 2010 中的 Visual C++ 项目链接到不同版本的 MFC?
【发布时间】:2010-06-24 13:52:41
【问题描述】:

我在 VS2010 中有一个 VC++ 项目,它链接到一些用 VS2008 构建的 dll。在我尝试将 MFC 对象传递给 VS2008 dll 之前工作正常。 VS2010 VC++ 项目(.dll)的工件链接到 VS2010 附带的最新版本的 MFC,而 VS2008 .dll 链接到 VS2008 附带的先前版本的 MFC。

VS2010 VC++ 项目有一个“平台工具集”属性,允许使用 v90 (VS2008) 或 v100 (VS2010),这似乎应该可以解决问题。但是,VS2010 VC++ 项目是使用 /clr(公共语言运行时支持)构建的,这似乎需要针对 .NET Framework 的 v4.0 - v90 (VS2008) 工具集不支持。

【问题讨论】:

    标签: c++ visual-studio-2010 mfc linker


    【解决方案1】:

    IIRC,.NET 1 到 3.5 也应该支持公共语言运行时。您可以针对特定的 .NET 版本,请参阅 here

    我认为平台工具集将意味着任一

    • VS 9.0 或 10.0 编译器和工具
    • CRT DLL 版本(以及随附的 Visual C++ 2005/2008/2010 运行时可再发行版)。

    【讨论】:

    【解决方案2】:

    将 Platform Toolset 选项设置为 v90 当且仅当 Targeted framework 为 3.5(或更低,我想)时才有效。

    要更改目标框架,您必须直接编辑 .vcxproj 文件。要进行更改,请关注these directions。请注意,XML 元素可能不存在,但将元素添加到 .vcxproj 文件的说明在 comments 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 1970-01-01
      相关资源
      最近更新 更多