转载: LINK : fatal error LNK1104: 无法打开文件“mfc71.lib”的原因又一例

时间:2021-07-09 21:19:22

转载地址:http://blog.csdn.net/mxclxp/article/details/8196142

LINK : fatal error LNK1104: 无法打开文件“mfc71.lib”的原因一例

http://blog.csdn.net/mxclxp/article/details/8161200

参考:

http://*.com/questions/7851325/why-is-my-lib-forcing-the-inclusion-of-mfc40-lib

下文是又一例——

[环境]
  Windows XP OS;
  Visual Studio 2008;
  本来是vs2003开发的工程,迁移至vs2008后出错。

[分析]

mfc71.lib是vs2003所使用的MFC类库;虽然我的机器中同时安装有vs2003和2008两个版本,不过由于我的vs2008的类库查找PATH中找不到mfc71.lib而报的错。更进一步地说,vs2008的类库查找PATH中本来就不应该找到mfc71.lib,而是应该使用它所对应的mfc90.lib。

[对策]

 打开工程属性, Linker > Input > Ignore Specific Libraries(忽略特定库)中输入 mfc71.lib;mfcs71.lib,重新编译即可。
对应.vcproj文件中选项为:IgnoreDefaultLibraryNames="mfc71.lib;mfcs71.lib"
转载: LINK : fatal error LNK1104: 无法打开文件“mfc71.lib”的原因又一例
 
 
[后记]
  并不是每个迁移的工程都会报如上的错。目前尚不清楚,迁移后的工程哪个设定使得vs2008一定去找旧的mfc。若能找得到的话,直接修改那个可能是更对的做法。