码迷,mamicode.com
首页 > 其他好文 > 详细

Error:"_TCHAR**"的实参与"char**"的形参不兼容

时间:2015-04-11 11:56:40      阅读:2446      评论:0      收藏:0      [点我收藏+]

标签:编译器   char   ansi   opengl   tchar   

使用VS2010编写自己的第一个openGL代码遇到了这样的问题

#include "stdafx.h"
#include "glut.h"

int _tmain(int argc, _TCHAR* argv[])
{
	glutInit(&argc,argv);//Error:"_TCHAR**"的实参与"char**"的形参不兼容
	return 0;
}

在网上搜索了一些解决方法,自己总结如下:

char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。

Windows为了消除各编译器的差别,重新定义了一些数据类型,char和tchar就是这样。

CHAR为单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。

如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unicode方式,TCHAR等价于WCHAR。LPCSTR 相当于CONST CHAR * 和LPSTR 相当于CHAR *。


故我们可推测,此时编译方式出现问题,因此我们设置一下编译方式即可。

采用将编译方式设置为ANSI,项目->属性->项目默认值->字符集,然后把UNICODE选成多字节,重新编译,这样我们就完成了设置,并且Error得到了解决。

Error:"_TCHAR**"的实参与"char**"的形参不兼容

标签:编译器   char   ansi   opengl   tchar   

原文地址:http://10115411.blog.51cto.com/10105411/1631144

(0)
(3)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!