在自已的MFC工程里技技UNICODE很简单只要在afx.h的头文件里的#include语句之前加上
#define _UNICODE
#define UNICODE
这里的第一行是为了让C Run-time Library库技持UNICODE,第二句是MFC库用的.
试着编译后发现这两行似乎不能很好的运行,产生如下错误
Linking...
msvcrtd.lib(crtexew.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/fadfa.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
TryToUnicode.exe - 2 error(s), 0 warning(s)
MSDN上说明:
number 个无法解析的外部命令
错误 LNK1120 为您提供该链接的无法解析的外部对象数 (number)。导致无法解析的外部对象的条件由错误 LNK2001描述,此错误出现在该错误信息之前(对每个无法解析的外部对象都出现一次)。
可见LNK1120是由LNK2001引起的,于是将MSDN Documnet转向了LNK2001的描术:
无法解析的外部符号“symbol”
代码引用了链接器无法在库和对象文件中找到的内容(如函数、变量或标签)。
可能的原因
代码请求的内容不存在(例如,符号拼写错误或使用错误的大小写)。
代码请求的内容错误(使用的是混合版本的库,一些库来自产品的一个版本,而其他则来自另一个版本)。
该错误信息之后为致命错误 LNK1120
之后有提到:
使用 Unicode 和 MFC 时,如果没有创建 wWinMainCRTStartup 的入口点,将在 _WinMain@16 上得到无法解析的外部对象;
这就是解决原因,具体解决方法如下图: