前段时间,为了研究如何开发虚拟样机接触到了OpenGL,查了一些教程,NeHe虽然经典但是画风各种陈旧,就没有向下深入研究的兴趣了。辗转各种国内外网站,如获至宝的找到了上两篇博客转载翻译的,用visual studio配置环境配置了n久,一边翻译一边欣喜若狂的调通了Hello World,准备开坑!然而做到第二个例子,死活调试不出,出现各种无法打开.h库的情况。绝望之下,无意中发现了这个教程是用Dev开发的,平台完全不一样,哎我是有多蠢。
后来了解到CMake:(取自百度百科)
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CmakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
研究了两下,没走的通。大概作用就是在某IDE(例如VS)里写的project可以通过CMake转换成其他IDE下的,方便开发者使用自己习惯的IDE进行开发学习。
情急之下,询问传奇人物老赵,推荐给我一个叫做Bullet的物理引擎。给了一个程序,exe文件运行各种酷炫。所有的方块都是独立的,点击一下就会飞出去,碰撞其他物体,双击界面会从空中落下物体。
上网搜索了一下关于bullet的各种教程,中文的几乎看不到,英文的少之又少,好不容易有了一两篇文章还因为英语太烂读不懂。好吧,读听老赵的话,读源代码。然而,C++基础差,开发经验少,OpenGL都没入门还考虑物理引擎?果断弃坑了。
在某次无头苍蝇一样的上网冲浪中,发现了Qt这个宝贝,知乎了一下,瞬间放弃点MFC+OpenGL这条技能树了。
摘选一些知乎回答:
1、语言本身
QT:跨平台,语法结构简单清晰。面向对象的特性体现的比MFC明显。代码写起来比较优雅,也就是说上手会快一点。
MFC:在Windows平台地位毋庸置疑,QT在windows下基本属于非主流了。个人感觉MFC相较于QT是比较杂乱的,你可以看下MFC以及QT的实例代码,直观上就可以了解了。并且要写MFC必须要知道Windows的消息循环机制。而QT开始时并不需要了解Windows底层的东西。
2、学习资源
QT:基本上只有官方的官网和demo了,相关的开发论坛比MFC的少很多,毕竟敲MFC的人要多。
MFC:MSDN资源,对于初学者来说可能MSDN比较枯燥,相关论坛和那种问答的资源要多很多,一般初学者遇到的问题都可以看到前辈们的解决方法。
3、IDE以及开发配置
初学者应该是windows,对于MFC,一个Visual Studio就足够了。QT,用QT Creator,配置也不会太麻烦。
作者:郑鑫
链接:https://www.zhihu.com/question/19938661/answer/13628252
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
上手容易,C++调用OpenGL有比较合适。试用了一下,看了一些示例,感觉界面亲和力很强,各个文件之间关联也很清晰,功能强大,直接包含了OpenGL的库。
因此发帖开坑。
技能树:c++ => Qt => OpenGL => 机器人学 => (物理引擎) => 虚拟样机
希望最后能够做成这样的效果:
点击打开链接
国外某实验室做的Stwart平台的虚拟样机,甚至加入了生成G代码的功能,非常强大,苦于没有资料,只能远观。
附一些安装过程中走的弯路:
按照教程下载了MinGW,准备搭建Qt的编程环境。
MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95发行版以上的 Windows OS 有效,使用基本运行时,你可以使用 GCC 写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的 C 运行时(C Runtime)扩展,与基本运行时相结合,就可以有充分的权利既使用 CRT(C Runtime)又使用 WindowsAPI功能。
后来发现Qt5以后就不用这么麻烦了,直接下载http://www.qt.io/download-open-source/
Offline Installers --> Qt 5.5.1 for Windows 32-bit (MinGW 4.9.2, 1.0 GB) (info)
一键安装,不用注册,不用破解,不用各种繁琐的搭建环境。体验满分。
唯一的问题就是在打开debug中的exe执行文件时,会弹出错误对话框。设置一些环境变量,计算机->属性->高级系统设置->高级->环境变量->系统变量->path值修改位C:\Qt\Qt5.5.1\5.5\mingw492_32\bin(与之前的值用分号;隔开)
接下来就可以开始Qt的入门教程了,选用了http://bbs.qter.org/forum.php?mod=viewthread&tid=4&extra=page%3D3%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline
接下来几天开始疯狂填坑。