分类目录归档:桌面开发

Visual Studio LNK2019 _WinMain@16 错误的解决办法

在Visual Studio中使用Win32项目时,遇到error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用错误,Google之后发现很多文章都是提到修改C++预处理器下的Preprocessor Definitions(预处理器定义)和链接器下的SubSystem(子系统),但亲测此方法不可行,原因是新建项目时,控制台项目/Win32项目的选择并没有发生错误。

最后发现,原来是定义_tWinMain的头文件 tchar.h 并没有包含到项目中(在tchar.h的约212行有 #define _tWinMain wWinMain)。

从问题原因便可知,解决方法有两种:

1.包含tchar.h到项目中;

2.main函数不写成 _tWinMain,而是直接写成 wWinMain。

----------------------------------------------------

PS:那些抄袭、转载错误文章的,纯粹是给网络制造垃圾!…

MFC星期显示本地化

在MFC中使用CTime类的 GetDayOfWeek 成员函数和 GetLocaleInfo 函数可以以本地化形式获得某个时间对应的星期字符串,实现星期数据以中文等形式显示。

MFC代码:

UINT DayOfWeek[] = {
   LOCALE_SDAYNAME7,   // Sunday
   LOCALE_SDAYNAME1,   
   LOCALE_SDAYNAME2,
   LOCALE_SDAYNAME3,
   LOCALE_SDAYNAME4, 
   LOCALE_SDAYNAME5, 
   LOCALE_SDAYNAME6   // Saturday
};
TCHAR strWeekday[256];
CTime time(CTime::GetCurrentTime());   // Initialize CTime with current time
::GetLocaleInfo(LOCALE_USER_DEFAULT,   // Get string for day of the