今天的收获

问题一:

    error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [2]' to 'LPCWSTR'

答: VS2005设置UNICODEASCII字符集问题

VS2005开发程序时,默认的字符集是Unicode。所以如果程序中使用字符常量一定要显示转换为Unicode型,否则编译时报错。如果你不希望程序支持Unicode字符集,更改项目设置就可以了。project->properties->configurations Properties -> General ->Project Defaults -> Charater Set中将Unicode字符集改为未设置即可。

参照阅读:

在程序中使用各种字符集的方法:   

const   char   *   p   =   "Hello";   //   使用   ASCII   字符集   

const   char   *   p   =   "你好";  

 //   使用   MBCS   字符集,由于   MBCS   完全兼容   ASCII,多数情况下,我们并不严格区分他们   

LPCSTR   p   =   "Hello,你好";   //   意义同上  

const   WCHAR   *   p   =   L"Hello,你好";  

 //   使用   UNICODE   字符集LPCOLESTR   p   =   L"Hello,你好";   //   意义同上   

//   如果预定义了_UNICODE,则表示使用UNICODE字符集;如果定义了_MBCS,则表示使用   MBCS   

const   TCHAR   *   p   =   _T("Hello,你好");                 

 LPCTSTR   p   =   _T("Hello,你好");   //   意义同上   

    在上面的例子中,T是非常有意思的一个符号(TCHARLPCTSTRLPTSTR_T()_TEXT()...),它表示使用一种中间类型,既不明确表示使用   MBCS,也不明确表示使用   UNICODE。那到底使用哪种字符集那?嘿嘿......编译的时候决定吧。设置条件编译的方式是:VC6中,"Project/Settings.../C/C++卡片   Preprocessor   definitions"   中添加或修改   _MBCS_UNICODEVC.NET中,"项目/属性/配置属性/常规/字符集"然后用组合窗进行选择。使用   T   类型,是非常好的习惯,严重推荐!

 

2、当出现缺少{ }或, ;等提示性错误时,原因一般是程序中出现未声明变量

3当编译
#include
#include
时会出现编译错误:
fatal error C1083: Cannot open include file: 'gl.h': No such file or directory
fatal error C1083: Cannot open include file: 'glaux.h': No such file or directory
找了半天才知道是包含头文件的错误 在包含头文件时一定要指明根目录才行,头文件的包含形式因为如下形式:
#include
#include

4()error LNK2019: unresolved external symbol "public: __

   错误原因:一般是在工程的属性页(AudioOrtpRecv Property Pages)里的Configuration Properties中的General 有一个Characoer Set这里设置成Use Multi-Byte Character Set

你可能感兴趣的:(今天的收获)