编译PyQt4 for Maya 2014记录

来源:互联网 发布:放样数据导入s730手簿 编辑:程序博客网 时间:2024/05/29 08:32

Lz纯菜鸟,此记录仅供参考用,有什么错误和不妥之处还望指正交流。


参考链接:

1.Autodesk官方文档

2.oglop大神的文章-如何才能在Maya里用Phonon – 编译Qt 顺带试验编译PyQt4 for Maya 2014(科学上网)


准备以下:

1. Visual Studio 2010 SP1

2.Autodesk官网的modified_qt4.8.2_for_maya2014


3.The latest version of SIP

4.The latest version of PyQt4

5.DirectX SDK

       如果有安装错误

       Error Code:s1023    卸载Microsoft Visual C++ 2010 (x86 和 x64) Redistributable 即可

       Error Code:s1010    貌似重新下载一份安装文件即可(尝试换用其他浏览器或下载工具下载)


~记得关闭360、企鹅管家之类的~


Let’s begin…


1.Installing Qt

cd C:\Qt\qt-adsk-4.8.2set QTDIR=C:\Qt\qt-adsk-4.8.2set DXSDK_DIR="C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)"%DXSDK_DIR%\utilities\bin\dx_setenv.cmdecho yes | configure -opensource -platform win32-msvc2010 -release -mpnmake

出现错误...哭


根据返回找到 DefaultLocalizationStrategy.cpp 文件(具体路径在...\src\3rdparty\webkit\Source\WebCore\platform下)

定位到327行:

return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

发现两个不正常的双引号,替换成:

return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));

(此处错误可以在编译前检查修改)


重新 nmake 通过~


2.Installing SIP


Lz一次通过~

cd C:\Qt\sip-4.16.7set MAYA_LOCATION=C:\Program Files\Autodesk\Maya2014set INCLUDE=%INCLUDE%;%MAYA_LOCATION%\include\python2.7;%MAYA_LOCATION%\Python\includeset LIB=%LIB%;%MAYA_LOCATION%\lib"%MAYA_LOCATION%\bin\mayapy" configure.pynmakenmake install


3.Building PyQt


根据官方文档里代码的提示:

1.解压缩 \Maya2014\mkspecs\qt-4.8.2-64-mkspecs.tar.gz

2.解压缩 \Maya2014\include\qt-4.8.2-64-include.tar.gz 至 \Maya2014\include\Qt 目录下

3.修改 \Maya2014\bin\qt.conf 文件里 Headers=../include/Qt


Lz编译过程中的一些错误:

如果maya安装目录路径有空格(例如Lz的 C:\Program Files\...)

可以建立虚拟驱动器的路径,否则... ...


没有空格就可以省掉subst命令那一步


nmake过程中又报错,不解... ...


Google了一下...将configure那一步 configure.py 替换成 configure-ng.py 可以完成编译


cd C:\Qt\PyQt-win-gpl-4.11.4set MAYA_LOCATION=C:\Program Files\Autodesk\Maya2014if exist m:\nul subst m: /dsubst m: "%MAYA_LOCATION%"set MAYA_LOCATION=m:set QTDIR=%MAYA_LOCATION%set QMAKESPEC=%QTDIR%\mkspecs\win32-msvc2010set SIPDIR=C:\Qt\sip-4.16.7set PYQTDIR=C:\Qt\PyQt-win-gpl-4.11.4set INCLUDE=%INCLUDE%;%MAYA_LOCATION%\include\python2.7;%MAYA_LOCATION%\Python\includeset LIB=%LIB%;%MAYA_LOCATION%\libset PATH="%QTDIR%\bin";%PATH%"%MAYA_LOCATION%\bin\mayapy" configure-ng.py LIBDIR_QT=%QTDIR%\lib INCDIR_QT=%QTDIR%\include\Qt MOC=%QTDIR%\bin\moc.exe -w --no-designer-pluginnmakenmake install

完成后执行 subst m: /d 删除建立的虚拟路径


在maya里执行

from PyQt4 import QtCore

没有报错的话应该就算成功了吧~


使用Phonon  将..\qt-adsk-4.8.2\plugins\phonon_backend 文件夹 复制至 ..\Autodesk\Maya2014\qt-plugins 里






1 0