这个是参考网上的博客,感谢前人的贡献,文末加上了一些我个人踩的坑
参考博客:在VS2017中安装OpenGL - 我有点帅哦 - 博客园
利用VS2017下的包管理软件Nuget下载安装OpenGL库
优点:安装很简单
缺点:每次创建项目都要重新下载OpenGL库
VS2017创建C++控制台程序,最好选择空项目(否则可能会有其他的错误)
创建好了项目,点击菜单栏的“项目”下的“管理Nuget程序包”
“浏览”下输入NupenGL
,两个都点击安装
新建一个C++文件
输入下面的Demo,运行F5
#include
#include
#include
#include
#include
#include
#include
void display(void) {
GLubyte fly[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0x80,0x01,0xC0,0x06,0xC0,0x03,0x60,
0x04,0x60,0x06,0x20,0x04,0x30,0x0C,0x20,
0x04,0x18,0x18,0x20,0x04,0x0C,0x30,0x20,
0x04,0x06,0x60,0x20,0x04,0x03,0xC0,0x22,
0x44,0x01,0x80,0x22,0x44,0x01,0x80,0x22,
0x44,0x01,0x80,0x22,0x44,0x01,0x80,0x22,
0x44,0x01,0x80,0x22,0x44,0x01,0x80,0x22,
0x66,0x01,0x80,0x66,0x33,0x01,0x80,0xCC,
0x19,0x81,0x81,0x98,0x0C,0xC1,0x83,0x30,
0x07,0xe1,0x87,0xe0,0x03,0x3f,0xfc,0xc0,
0x03,0x31,0x8c,0xc0,0x03,0x33,0xCC,0xC0,
0x06,0x64,0x26,0x60,0x0c,0xcc,0x33,0x30,
0x18,0xcc,0x33,0x18,0x10,0xc4,0x23,0x08,
0x10,0x63,0xc6,0x08,0x10,0x30,0x0c,0x08,
0x10,0x18,0x18,0x08,0x10,0x00,0x00,0x08,
};
GLubyte halftone[] = {
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
0xAA,0xAA,0xAA,0xAA,0x55,0x55,0x55,0x55,
};
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glRectf(25.0, 25.0, 125.0, 125.0);
glEnable(GL_POLYGON_STIPPLE);
glPolygonStipple(fly);
glRectf(125.0, 25.0, 225.0, 125.0);
glPolygonStipple(halftone);
glRectf(225.0, 25.0, 325.0, 125.0);
glDisable(GL_POLYGON_STIPPLE);
glFlush();
}
void init(void) {
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_FLAT);
}
void reshape(int w, int h) {
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, (GLdouble)w, 0.0, (GLdouble)h);
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(350, 150);
glutCreateWindow(argv[0]);
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}
效果图如下
错误 C1010 在查找预编译头时遇到意外的文件结尾。
是否忘记了向源中添加“#include "pch.h"
最简单的解决方案就是重新创建一个空项目
2. 在C++一个项目只能存在一个.cpp文件,否则可能会报错
解决办法:在VS2017项目管理中找到要移除C++文件,右击移除即可