天天看點

編譯PyQt4 for Maya 2014記錄

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

編譯PyQt4 for Maya 2014記錄

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.2

set QTDIR=C:\Qt\qt-adsk-4.8.2

set DXSDK_DIR="C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)"

%DXSDK_DIR%\utilities\bin\dx_setenv.cmd

echo yes | configure -opensource -platform win32-msvc2010 -release -mp

nmake
           

出現錯誤...

編譯PyQt4 for Maya 2014記錄
編譯PyQt4 for Maya 2014記錄

根據傳回找到 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.7

set MAYA_LOCATION=C:\Program Files\Autodesk\Maya2014

set INCLUDE=%INCLUDE%;%MAYA_LOCATION%\include\python2.7;%MAYA_LOCATION%\Python\include

set LIB=%LIB%;%MAYA_LOCATION%\lib

"%MAYA_LOCATION%\bin\mayapy" configure.py

nmake

nmake 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\...)

可以建立虛拟驅動器的路徑,否則... ...

編譯PyQt4 for Maya 2014記錄

沒有空格就可以省掉subst指令那一步

nmake過程中又報錯,不解... ...

編譯PyQt4 for Maya 2014記錄

Google了一下...将configure那一步 configure.py 替換成 configure-ng.py 可以完成編譯

cd C:\Qt\PyQt-win-gpl-4.11.4

set MAYA_LOCATION=C:\Program Files\Autodesk\Maya2014

if exist m:\nul subst m: /d
subst m: "%MAYA_LOCATION%"

set MAYA_LOCATION=m:

set QTDIR=%MAYA_LOCATION%

set QMAKESPEC=%QTDIR%\mkspecs\win32-msvc2010

set SIPDIR=C:\Qt\sip-4.16.7

set PYQTDIR=C:\Qt\PyQt-win-gpl-4.11.4

set INCLUDE=%INCLUDE%;%MAYA_LOCATION%\include\python2.7;%MAYA_LOCATION%\Python\include

set LIB=%LIB%;%MAYA_LOCATION%\lib

set 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-plugin

nmake

nmake install
           

完成後執行 subst m: /d 删除建立的虛拟路徑

在maya裡執行

from PyQt4 import QtCore
           

沒有報錯的話應該就算成功了吧~

使用Phonon  将..\qt-adsk-4.8.2\plugins\phonon_backend 檔案夾 複制至 ..\Autodesk\Maya2014\qt-plugins 裡

編譯PyQt4 for Maya 2014記錄