LINK : fatal error LNK1104: 无法打开文件“mfc71.lib”的原因一例
/mxclxp/article/details/8161200
参考:
/questions/7851325/why-is-my-lib-forcing-the-inclusion-of-mfc40-lib
下文是又一例——
[环境]
Windows XP OS;
Visual Studio ;
本来是vs开发的工程,迁移至vs后出错。
[分析]
mfc71.lib是vs所使用的MFC类库;虽然我的机器中同时安装有vs和两个版本,不过由于我的vs的类库查找PATH中找不到mfc71.lib而报的错。更进一步地说,vs的类库查找PATH中本来就不应该找到mfc71.lib,而是应该使用它所对应的mfc90.lib。
[对策]
打开工程属性, Linker > Input > Ignore Specific Libraries(忽略特定库)中输入mfc71.lib;mfcs71.lib,重新编译即可。 对应.vcproj文件中选项为:IgnoreDefaultLibraryNames="mfc71.lib;mfcs71.lib"
[后记] 并不是每个迁移的工程都会报如上的错。目前尚不清楚,迁移后的工程哪个设定使得vs一定去找旧的mfc。若能找得到的话,直接修改那个可能是更对的做法。