问题一:
① error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [2]' to 'LPCWSTR'
答: VS2005设置UNICODE或ASCII字符集问题
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是非常有意思的一个符号(TCHAR、LPCTSTR、LPTSTR、_T()、_TEXT()...),它表示使用一种中间类型,既不明确表示使用 MBCS,也不明确表示使用 UNICODE。那到底使用哪种字符集那?嘿嘿......编译的时候决定吧。设置条件编译的方式是:VC6中,"Project/Settings.../C/C++卡片 Preprocessor definitions" 中添加或修改 _MBCS、_UNICODE;VC.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