JeremyLi正走向人生巅峰

想做小马哥给的任务,一直进度很慢。看了蓝宝书5又蓝宝书6又蓝宝书5,sample code一直在Xcode上跑不起来,搞得要死。。。终于决定不用Xcode, 好好研究GLFW来写OpenGL。但是在Mac上装GLFW又很坑爹,文档上写的很简单,却完全不行。只能自己慢慢摸索。

首先按照一篇在Mac上使用OpenGL教程里面的过程成功的跑起来了GLFW,但是是2.7版的,发现官网上又找不到2.7的文档,3.0的示例程序又跑不起来,只能重新搞3.0。。。。

首先安装命令行Cmake不行,brew因为OS X的升级出了问题,改了ruby版本之后brew update又出了问题。。。。

最后在朱哥的帮助下,发现在CMake编译时,要选择Unix Makefile而不要选择Xcode,这样在编译出来的目录里make 和make install就可以了。用GLFW的示例程序一跑成功了,可以开始好好学习OpenGL了。

在安装的过程中了解了静态库和动态库的区别,以及在mac中这些库的位置。还了解了top命令。还有homebrew其实只是一个在本地的git clone。以后遇到问题一定要仔细解决,并从中学到知识。朱哥就是这么一步一步被虐过来,现在问题基本上都能自己解决了。

========================================

1/17/2015

今天再次开始学OpenGL,刚开始准备看glfw的使用,后来突然发现glfw不就是另一套GUI系统吗,何必特地去学它,完全可以用Qt啊,反正也要同时学Qt.然后就在Qt Creator里加了1个widget开始干起来。在Qt中使用QGLWidget,继承它后实现 initializeGL(), paintGL(), resizeGL()这几个虚函数来使用OpenGL。但是在加了之后出现了这个错误

在网上查了,有的说是需要改变Qt的clang编译版本到和OpenGL使用的一样(应该就是OS X10.10)版本,但是改的没有用。然后又怀疑是没有library,但是看在Qt Creator里执行的命令,各个framework似乎都加了,在.pro文件里也加了 +=opengl。直到看到了这个贴 里面的一句话点醒了我,I originally thought when I saw this, is that it states this error on its own in the Issues output and can lead the user into thinking that the problem is due to the architecture. Actually, all its saying is that there’s a defined symbol (often function) whose matching implementation wasn’t found. 看到这个错误往往并不是什么x86_64的问题,而是一个定义的symbol没有找到执行代码。找了一下,我确实有虚函数声明了却没有定义,,定义了之后就没有问题了。这个需要牢记,也许会很有用。

你并不一定会从此拥有更美好的人生,

JeremyLi正走向人生巅峰

相关文章:

你感兴趣的文章:

标签云: