当想通过调用QT库来写个Maya插件时,发现远比自己想象的复杂的多,这里就记录一点,如何编译调用QT库的插件;主要的难点就是当你的代码用了signal和slot的时候,就不可避免的要用到Q_OBJECT这个东西,一旦有了这个东西,那么再编译的时候就变得和以前不太一样了,下面详细叙述下。
以Maya自带的helixQtCmd为例,等自己的插件完工,有朝一日再叙。
这里写图片描述

一、将devkit都下载好,放到Maya的安装目录里,这样在编译的时候就能找到include和lib了。
二、要设置两个环境变量
这里写图片描述

这里写图片描述
然后在Path的环境变量里加上那个bin路径就行,注意在路径与路径中间加上英文的分号,这一步主要是为后面的qmake设置的,不然是没法用系统会报找不到qmake的错
这里写图片描述
三、为了不破坏Maya的源文件,我将这个命令所用到的文件拷贝到一个新的地方
这里写图片描述
打开那个qtconfig文件,添加两个路径
这里写图片描述
然后打开Makefile.qt,将里面再改成只release这一个插件即可
这里写图片描述
四、到Maya的安装目录里找到mkspecs文件夹,将里面的qt-5.6.1-mkspecs.tar.gz这个文件减压,减压到当前位置就行。
这里写图片描述
五、在helixQtCmd这个文件夹,摁住shift键,点击鼠标右键,选择“在此处打开命令窗口”,然后将下面的路径的vcvarsall.bat拖到那个命令窗口,并在后面加上amd64的字符,确保我们编译的是64位的插件;在补充一句可以打开vvcvarsall.bat,看到里面有六种模式,如下图,设置完这一步就可以用到另一个命令——nmake,不然也是会报找不到namke的错。

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC
这里写图片描述

六、然后输入nmake -f Makefile.qt这个命令,等跑完就行,会在同一目录下生成两个debug和release两个文件夹,在release文件里就可以看到我们要的插件了。
这里写图片描述
我的跑完是这样的:
这里写图片描述
这里写图片描述

最后在Maya里测试下,是可以正常使用,信号和槽都链接正常,如果是自己的插件可以如法炮制,只是改写里面的名字之类的。
这里写图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐