How do I fix the linker error in project upgraded

2019-06-25 00:16发布

I am upgrading a VS2010 project to VS2013. One of my applications is looking for mfc120.lib (or mfc120d.lib for debug builds). However, it appears that VS2013 ships with mfc120*u*.lib and mfc120*u*d.lib (presumably unicode versions which is the only version of MFC supported by VS2013).

Here are the linker errors I'm getting:

LINK : fatal error LNK1104: cannot open file 'mfc120.lib'
LINK : fatal error LNK1104: cannot open file 'mfc120d.lib'

I'm looking through the project property sheets and don't see any setting for specifying which MFC library file to link against. It's not even showing up in the "Linker-->Command Line" page of the property sheets.

Can someone help me figure out how to get the project to link to the correct library files?

Thank you very, very much!

3条回答
我欲成王,谁敢阻挡
2楼-- · 2019-06-25 00:39

In your compile commandline, there is probably a

/D "_MBCS"

and that should be

/D "_UNICODE"

That's effectively like putting a

#define _UNICODE

at the top of your source files, but I think it affects what libraries are pulled in well.

See the MSDN docs for more info.

查看更多
做自己的国王
3楼-- · 2019-06-25 00:54

In VS2013, these are available as addon:

http://msdn.microsoft.com/en-us/library/dn251007.aspx

查看更多
地球回转人心会变
4楼-- · 2019-06-25 00:56

Sometimes the issue involves code that can't be re-compiled with Unicode support. In that case, download the multi-byte libraries:

http://www.microsoft.com/en-us/download/details.aspx?id=40770

查看更多
登录 后发表回答