VC++错误及改正方法

  • 格式:wps
  • 大小:13.50 KB
  • 文档页数:1

1.在创建windows应用程序时,出现如下错误:
MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号_WinMain@16,该符号在函数___tmainCRTStartup 中被引用
Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令error LNK2001: unresolved external symbol _WinMain@16
debug/main.exe:fatal error LNK 1120:1 unresolved externals
表示创建的项目不正确,该错误表明创建的是一个win32控制台应用程序,该程序的入口地址是Main。

创建windows应用程序时应该选择win32应用程序。

2.C++编译出现error C2664: 不能将参数 2 从“const char [5]”转换为“LPCTSTR”解决办法。

编译程序的时候出现这样的错误,原因是在新建MFC项目的时候,设置字符集Unicode 的属性。

解决方法一:
在VC2010的解决方案管理器窗口内,右击你的项目“项目”,然后选“属性”(最后一项),再点“配置属性”,是个“+”号,把它展开,然后选“常规”选项卡,倒数第三项“字符集”,选择“使用多字节字符集”。

问题解决。

不过还是建议使用Unicode,否则你的程序将有很大的局限性;要是你的程序只在西方发布还好,但毕竟是适应中国大陆的程序吧,所以建议使用Unicode。

解决方法二:
使用调用CString::AllocSysString();
例如:
CString str_cap("haha");
(const WCHAR *)(str_cap.AllocSysString());
(LPCTSTR)(str_cap.AllocSysString()); 同上面效果相同。