准备工作
首先安装vs2017,安装的时候选择的是C++那个包(第一行右边那个,忘截图了。。。)
然后下载glfw和glad(可以用glfw+glew,glad比glew新且有前景),最老的是glut,比较轻量,但不适合大型工程,一般会被glfw所替代。
下载注意位数,此次用的都是32位的,vs2017属性设置的时候也要注意32位,调试的时候注意x86
一些体会:也在网上看了许多人的博客,写的很好,但综合之后发现自己缺少思考,应该从程序的运行模式来思考,从VS的工作模式上理解环境配置的话应该是有两种方法的(其他版本VS的文件引入模式应该也是这样):
- 从项目属性引入需要的文件
- 在VS文件夹中添加需要的文件
(有的人在VS中添加完文件之后,又再次从属性中进行了引入,其实是重复操作)
下面有这三种环境配置
- glfw+glew
- glfw+glad
- glut
前两种是从项目属性引入库和头文件,glut是直接添加文件,因为glfw的文件比较多,一时间可能会弄混,当然前两个环境也可以去添加文件,glut也可以从项目属性引入,都是可行的办法,但自己去尝试可能会出现的问题就要去自己解决了。
先说glfw+glew的配置:
1)创建一个空项目
2)修改项目属性
VC++中的包含目录修改:(把include文件夹加入)
VC++中的库目录修改:
链接器–>输入–>` 附加依赖项:添加
opengl32.lib
glfw3.lib
glew32s.lib
3)调试成功,但有警告:
“警告 LNK4098 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library BuildEnv F:\xxxx”
链接器–>忽略特定默认库:添加MSVCRT.lib
忽略掉这个库就不会有警告了
示例程序:
#include<iostream>
#define GLEW_STATIC
#include <GL/glew.h>
#include <GLFW\glfw3.h>
using namespace std;
int main(int argc, char** argv[])
{
/*glewExperimental = GL_TRUE;
if (glewInit()!=GLEW_OK)
{
cout << "failed to initalize GLEW" << endl;
return -1;
}*/
glfwInit();