我正在使用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中不包含)
答案 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不会在该文件夹中查找库依赖项,因此您需要在配置属性|中指定完整路径。链接器|输入|附加依赖。