遇到的问题:
开发环境:VS2010
我是自己建的win app项目,然后把代码复制进去,结果先后遇到两个问题,在网上查到的解决方法整理如下:
错误1:
error C2664: “MessageBoxW”: 不能将参数 2 从“const char [34]”转换为“LPCWSTR” d:\my project\visual 2010\opengl_lesson1\opengl_lesson1\main.cpp 82....
解决方法:
将MessageBox中直接用字符串的地方全部加上TEXT(),如MessageBox(NULL,"Release Rendering Context Failed.","SHUTDOWN ERROR",MB_OK | MB_ICONINFORMATION);改为MessageBox(NULL,TEXT("Release Rendering Context Failed."),TEXT("SHUTDOWN ERROR"),MB_OK | MB_ICONINFORMATION);
或者:
UNICODE问题:项目菜单->最后的属性->配置属性->常规->项目默认值->unicode改为未设置
错误2:
error LNK2019: 无法解析的外部符号 _gluPerspective@32,该符号在函数 "void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z).....
解决方法:
这是因为编译的时候缺少相关的库,查了下资料需要在前面加上如下语句:
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib,"glu32.lib")
解决后,可以正确运行了。。。