错误LNK1104:无法打开文件'mfc90.lib'

时间:2013-03-11 01:54:43

标签: visual-studio

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

error LNK1104: cannot open file 'mfc90.lib'
发生

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我认为MFC库与您定位的.NET Framework版本无关。 VS2012会有类似mfc110.lib的东西,这可能就是你应该使用的东西。如果要使用mfc90.lib,它应该位于以下文件夹中:

  

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

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

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