0

我正在使用 Visual Studio 2012 Professional,我的项目引用了使用 VS2008(v90) 构建的静态库。当我使用 VS2012(v110) 构建时,

error LNK1104: cannot open file 'mfc90.lib'

发生错误。
更改平台工具集是解决此问题的唯一方法吗?我认为这不是我的解决方案,因为我应该以 .NET Framework 4.5 为目标。(我知道我不能将 .NET Framework 4.0 与 v90 一起使用。如果错了,请纠正我)
请让我知道如何在 VS2012 项目中使用用 VS2008 构建的库。
提前致谢!

附言。如果改变平台工具集是解决问题的唯一方法,那么如何引用使用各种 Visual Studio 编译器构建的多个库?(例如,使用 vs2008、vs2010 和 vs2012 构建的)

编辑: 我正在为 3rd 方库(本机 C++)编写一个包装程序,以便在 .NET Framework 上运行。问题是我应该用VS2012构建,但是用VS2008构建的库需要mfc90.lib(VS2012中不包含)

4

2 回答 2

1

通过链接到 mfc110.lib 而不是 mfc90.lib,我能够让我的项目在 vs2012(从 vs2008 转换)中构建

于 2013-05-29T23:38:54.743 回答
0

我认为 MFC 库与您所针对的 .NET Framework 版本没有任何关系。VS2012 会有类似 mfc110.lib 的东西,这可能是你应该使用的。如果要使用 mfc90.lib,它应该在以下文件夹中:

C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib

当然,您需要安装 VS2008 才能使该文件夹存在。

但是 VS2012 不会在该文件夹中查找库依赖项,因此您需要在Configuration Properties |中指定完整路径 链接器 | 输入 | 附加依赖项

于 2013-03-11T02:41:43.440 回答