尝试codeblock和Dev-C++

这学期新开了一门计算机图形图像的课,里面涉及到openGL,中午跑到图书馆开始倒腾OpenGL。

因为电脑里本来有codeblock,于是就想不用教材里面所说的DevC++集成了,自己用codebook

集成,可是这一搞就是一下午,没想到这个这么麻烦,复制dll,复制lib,复制.h,之后还是各种

稀奇古怪的报错,于是我干脆换成了教材上所说的Dev-c++,可是我们这本教材,不是我说,写

的真的跟**一样,后来一看主编就是我的任课老师,哎难怪,用DevC++配置有一个比较坑的地方

就是使用头文件的时候会识别不到路径,我至今没找到bug,索性放弃改用VS2017。

牛逼的NuGet包管理器

什么时NuGet包管理器

我个人觉得它的作用跟Maven类似,可以管理依赖,就是你不用去管什么ddl,32位64位这些,它

都帮你弄好,这是在网上看到的描述:

用visual studio开发的童鞋们应该都有这样的感受,经常在copy别人的项目后,出现找不到xxx.h,

找不到xxx.lib,找不到balabala。甚至还有“模块计算机类型“x86”与目标计算机类型“x64”冲突”,“模

块计算机类型“x64”与目标计算机类型“x86”冲突”,各种Link错误等等令人烦躁的提示!

  很多时候都是工程中使用了第三方库,而工程又没有能够自适应的配置文件能帮我们找到这些

第三方库造成的,这时候需要程序员在C/C++ ->常规->附加包含目录添加各种头文件路径,链接器

-> 常规 -> 附加库目录 添加各种lib的路径,然后还需要在链接器 -> 输入 -> 附加依赖项填写工程中

使用的lib名称。这已经足够烦人了,何况lib还要区分x86/x64,debug/release,vc平台(vc90,

vc100 and etc.),排列组合大家都学过吧,这得配置多少次大家自己算吧。稍有不慎就会出错,

如果是一个陌生的项目更大大增加出错可能,如果你忘记添加相应的lib而导致无法解析的外部符号,

而恰恰你对这个外部符号很陌生并不知道它在哪个lib里,这就尴尬了。

  然而突然有一天,微软说我们做了个NuGet把Package 从工程中分离,以后它帮你管理Package 。

[http://blog.csdn.net/junparadox/article/details/51086374]

VS2017安装OpenGL

首先还是需要下GLUT,地址:[https://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip]

然后把glut.h放到...\VC\Tools\MSVC\14.10.25017\include\gl下(没有include和gl文件夹就新建一个)

把glut.lib,glut32.lib放到...\VC\Tools\MSVC\14.10.25017\lib\x86下

把glut.dll,glut32.dll放到C:\Windows\SysWOW64下(我的系统是64位的,如果是32位的系统,请放到

C:\Windows\System32下),然后新建一个空的控制台项目,点击上方项目选择管理NuGet程序包,

然后搜索nupengl,会出现两个选项,两个全部安装,安装完成之后就可以测试了。

小插曲,编译的时候显示“未将对象引用设置到对象的实例”

这种情况最好打开VS installer修复,等待就好了。修复好就可以了

第一个OpenGL程序

#define GLUT_DISABLE_ATEXIT_HACK
#include <windows.h>
#include <GL/glut.h> const int A = 500; /* length of a side of the monitor window */
const float B = 500; /* length of a side of the clipping rectangle */
const float C = 200; /* length of a side of the square the program draws */ void myinit(void)
{
glClearColor(0.7, 0.7, 0.7, 0.0); /* gray background */ glMatrixMode(GL_PROJECTION); /* In World coordinates: */
glLoadIdentity(); /* position the "clipping rectangle" */
gluOrtho2D( -B/2, B/2, -B/2, B/2);/* at -B/2, its right edge at +B/2, its bottom */
glMatrixMode(GL_MODELVIEW); /* edge at -B/2 and its top edge at +B/2 */
} void display( void )
{ glClear(GL_COLOR_BUFFER_BIT); /* clear the window */ glMatrixMode(GL_MODELVIEW); /* The following coordinates are expressed */
glLoadIdentity(); /* in terms of World coordinates */ glBegin(GL_POLYGON) ; /* draw a filled polygon */
glColor3f ( 1.0, 0.3, 0.2); /* draw in light red */
glVertex2f( -C/2, -C/2 ); /* (x,y) */
glVertex2f( C/2, -C/2 ); /* (x,y) */
glVertex2f( C/2, C/2 ); /* (x,y) */
glVertex2f( -C/2, C/2 ); /* (x,y) */
glEnd(); glFlush(); /* send all commands */
} int main(int argc, char** argv)
{
glutInit(&argc,argv);
glutInitWindowSize( A, A ); /* A x A pixel screen window */ glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE);
glutCreateWindow("My Rectangle"); /* window title */
glutDisplayFunc(display); /* tell OpenGL main loop what */
myinit(); /* set attributes */ glutMainLoop(); /* pass control to the main loop */
return 0;
}

出现红色矩形!ok,Markdown怎么插图片.....

记录一次安装OpenGL的漫长过程的更多相关文章

  1. CentOS 5.5 下安装Countly Web Server过程记录

    CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...

  2. 在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录

    在CentOS7上通过RPM安装实现LAMP+phpMyAdmin过程全记录 时间:2017年9月20日 一.软件环境: IP:192.168.1.71 Hostname:centos73-2.sur ...

  3. Ubuntu16.04 安装Tensorflow1.7过程记录一:安装显卡驱动

    为刚到手的Titan V装新系统,首先当然是显卡驱动安装. 可以参考这:https://jingyan.baidu.com/article/d7130635c5a86113fdf47532.html ...

  4. elasticsearch5.0.0 安装插件及配置过程

    elasticsearch5.0.0 安装插件及配置过程 由于es5.0是里程碑式的更新,所以很多变化的地方,暂时我就插件安装遇到的问题记录一下. 插件安装命令 2.3版本的安装命令 安装Marvel ...

  5. 懒人记录 Hadoop2.7.1 集群搭建过程

    懒人记录 Hadoop2.7.1 集群搭建过程 2016-07-02 13:15:45 总结 除了配置hosts ,和免密码互连之外,先在一台机器上装好所有东西 配置好之后,拷贝虚拟机,配置hosts ...

  6. 安装Debian 7.8 过程,以及该系统的配置过程

    最近,我给自己的电脑安装了Debian操作系统,版本7.8 stable.Debian我相信大家都能了解,它是Ubuntu的基础,Ubuntu是基于Debian的unstable开发的.我安装这个系统 ...

  7. 记录Linux下安装elasticSearch时遇到的一些错误

    记录Linux下安装elasticSearch时遇到的一些错误 http://blog.sina.com.cn/s/blog_c90ce4e001032f7w.html (2016-11-02 22: ...

  8. OpenGL学习之windows下安装opengl的glut库

    OpenGL学习之windows下安装opengl的glut库 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装.  Windows环境下的GLUT下载地址:(大小约为15 ...

  9. 我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程

    评论»   文章目录 为什么要Https 如何选择Https 安装部署SSL证书 平滑过渡Https 搜索引擎的响应 启用Https小结 正如大家所看到的,部落全站已经启用了Https访问了,连续几天 ...

随机推荐

  1. 【Idea】idea code style配置eclipse code formatter

    在eclipse中有自动配置code style的功能 ,但是idea上却没有,这个时候需要自己手工配置 1. 在idea中找到Preference->Plugins->Browse re ...

  2. pkuwc2018题解

    题解: 思路挺好想的..然而今天写代码写成傻逼了 d1t1: 首先比较暴力的就是$f[i][j]$表示i个这个点是j的概率 然后前缀和一下dp就是$n^2$的 部分分树形态随机就说明树深度是$log$ ...

  3. Python 官方文档解读(2):threading 模块

    使用 Python 可以编写多线程程序,注意,这并不是说程序能在多个 CPU 核上跑.如果你想这么做,可以看看关于 Python 并行计算的,比如官方 Wiki. Python 线程的主要应用场景是一 ...

  4. 20165319 Exp6 信息收集与漏洞扫描

    实验过程 whois 在虚拟机Kali的终端输入命令:whois gitee.com,查询码云的域名注册信息. dig或nslookup域名查询 在kali终端输入dig 网址或nslookup 网址 ...

  5. CICD - Teamcity 配置之一: 数据库自动部署

    数据库开发过程不是一次完成的,也是一个迭代的过程.如何快速开发和部署新的数据库对象,部署到不同的环境中,还有就是可不可以快速重建数据库对象,这里不包括数据部分. 首先从官网下载Teamcity:htt ...

  6. winform datagridview在添加全选checkbox时提示:不能设置 selected 或 selected 既不是表 Table 的 DataColumn 也不是 DataRelation。

    在项目中,需要多选功能,于是在datagridview添加了一列DataGridViewCheckBoxColumn 在给datagridview绑定完数据集之后,对全选进行操作的时候,发现总报错,报 ...

  7. 微信跳转,wap网页跳转微信打开指定页面

    最近一朋友的客户有这么一需求,wap网页跳转微信打开指定页面,让用户去关注公众号.想这么干,通过网页跳转到微信并打开带有二维码的网页,用户长按识别二维码就可以关注了.想法很好,于是去搜索了“微信跳转, ...

  8. FlowerVisor理解

    Ï来自FlowVisor: A Network Virtualization Layer这篇论文的理解 1. 简介 论文讲述如何虚拟化一个网络,并描述一个特殊的系——FlowVisor 网络虚拟化用来 ...

  9. web 基础设置

    1.设置代码格式为UTF-8 2.运行jsp文档 3.设置自己喜欢的浏览器运行,设置为默认的 找到自己的浏览器位置 点ok Name是名字的意思 为这个浏览器娶一个名字 是什么浏览器就写什么名字 4. ...

  10. React组件和生命周期简介

        React 简介----React 是 Facebook 出品的一套颠覆式的前端开发类库.为什么说它是颠覆式的呢? 内存维护虚拟 DOM 对于传统的 DOM 维护,我们的步骤可能是:1.初始化 ...