我在 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(公共(public)语言运行时支持)构建的,这似乎需要以 .NET Framework 的 v4.0 为目标 - v90 (VS2008) 工具集中不支持它。
最佳答案
IIRC,.NET 1 到 3.5 也应该支持公共(public)语言运行时。您可以针对特定的 .NET 版本,请参阅 here .
我认为平台工具集意味着要么
- VS 9.0 或 10.0 编译器和工具
- CRT DLL 版本(以及随附的 Visual C++ 2005/2008/2010 运行时可再发行版本)。
关于c++ - 如何从 Visual Studio 2010 中的 Visual C++ 项目链接到不同版本的 MFC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3110560/