之前在实验楼学了一个C++实现太阳系行星系统的课程,在他的web虚拟机中死活运行失败 所以试着在熟悉的环境下编译一次。 搜索了不少资料,发现opengl这玩意有点过时,而且不像其他开源库那样有源码,只能通过一些第三方的库实现。
首先记录一下ubuntu下开发环境搭建过程,so easy:
sudo apt-get install freeglut3 freeglut3-dev
项目代码参见solarsystem
Windows下环境搭建,有点扯淡,不过还好我身经百战,这种事见的多了。。。
-
新建一个文件夹存放所有所需的头文件和dll/lib文件 目录结构类似
-
下载glut 版本不要选3.0.0,那个没有vs的sln文件,下载2.8.1版本的。 在
VisualStudio/2012
文件夹内打开sln,按照提示迁移工程到vs2015版本,编译,将include内所有头文件拷贝到上述GL目录内,将生成的dll/lib文件拷贝到对应的Debug或Release目录内 -
下载glew 打开
build/vc12/glew.sln
,升级工程,编译,并拷贝头文件与dll/lib文件,同上。 -
当然这种事干一次就够了 可以到opengl_win10_vs2015下载opengl.7z文件,已经包含了include和lib
-
运行效果 动态图:
后来呢,发现在Ubuntu下不能运行的原因是这一句:
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE);
我写成了
glutInitDisplayMode(GL_RGBA | GL_DOUBLE);
这破问题断断续续折腾了好几个小时。。。。。。。。。。。。。。