Qt 3D编译浅浅淡淡

移动开发
本文讲解的是Qt 3D编译,编辑器在游戏里面应用很广泛,一般都有地图编辑器、粒子编辑器、字体编辑器、UI编辑器、材质编辑器、脚本编辑器等。

在实际3D游戏开发汇总,编辑器是机器重要的一个部分,一个优秀健壮的编辑器,卡哇伊是项目事半功倍,而相反,一款BUG超多又不会注重操作习惯的编辑器,不仅会使项目事倍功半,而且会消弱开发人员的积极性,甚至让开发人员对项目产生排斥情绪。
Qt 3D编译浅浅淡淡

下载

Qt/3D源码托管在Gitorious中,可以直接使用git进行抓取。

git clone git://gitorious.org/qt-labs/qt3d.git不清楚是何种原因,在国内使用git的这种方式经常失败(fix me)。可能需要你先clone一个自己的仓库,然后采用git的ssh方式进行抓取。或者登录仓库的网页,直接下载压缩包(qt-labs-qt3d-master.tar.gz)。

编译前准备

由于 Qt/3D 使用Qt的源码中很多private的文件,需要有我们自己编译的Qt环境。

Windows

在Windows下这个应该没什么问题。

下载源码,解压到某个目录(比如D:\Qt4.7.4),然后

 

  1. configure   
  2. make 

Linux

在linux下,有点小问题

比如源码下载到 ~/Qt4.7.4

  1. configure   
  2. make & make install 

这时,Qt的所有私有文件都还在 ~/Qt4.7.4, 但是Qt被安装到/usr/local//usr/local/Trolltech/Qt-4.7.4。这种情况该怎么办呢?

不清楚又无更好的办法(编译Qt时通过configure 时指定 prefix?),个人这么处理的(编译Qt/3D前设置一下环境变量)

  1. export MYQTDIR=/home/debao/Qt4.7.4  
  2. export   
  3. CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$MYQTDIR/include:$MYQTDIR/include/QtCore/:$MYQTDIR/  
  4. include/QtDeclarative/:$MYQTDIR/include/QtGui/:$MYQTDIR/include/QtDbusQt/3D 

某个插件用的QtDbus模块,所以编译Qt时需要确保该模块被启用。对于ubuntu来说,Qt在configure之前,要先安装有libdbus-1-dev

注:终于搞清楚了,configure 时添加 -developer-build 选项即可实现windows下的结果了。 dbzhang800 2011.06.01

编译

这个就不用多说了,Qt/3D Manual中给出的shadow build的方式(可参考浅谈 qmake 之 shadow build )。

如果我们不使用shadow build,直接在源码目录下

  1. qmake opengl.pro  
  2. make  
  3. make install 

就行了。

根据需要,可能需要设置动态库的搜索路径,linux下的LD_LIBRARY_PATH和windows下的PATH。

责任编辑:zhaolei 来源: CSDN博客
相关推荐

2011-06-22 15:24:50

Qt 线程

2011-06-20 15:40:19

QT 信号

2011-07-08 10:49:59

Cocoa Touch 静态库

2011-06-27 15:57:21

Qt 3D OpenGL

2012-11-26 12:51:44

木材3D打

2011-10-06 13:30:45

宏碁投影仪

2011-05-26 10:05:07

优派投影机

2011-05-25 16:07:17

2011-04-26 14:21:20

3DJVC投影机

2011-08-26 14:50:23

2015-09-09 11:05:52

3d视差引导页

2021-12-28 10:52:10

鸿蒙HarmonyOS应用

2012-08-13 17:11:37

Silverlight

2023-03-03 21:42:18

鸿蒙

2011-09-22 10:07:52

奥图码投影仪

2011-05-26 10:55:39

2020-08-26 10:37:21

阿里3D

2011-05-03 11:07:46

2D3D丽讯

2011-06-15 13:08:59

2013-06-14 09:41:59

点赞
收藏

51CTO技术栈公众号