在Linux的環境下,藉由Eclipe也可以直接設定程式專案來開發Maya plug-in。對程式專案所需要的修改的設定和進行OpenGL專案的部份也很類似,但是稍微複雜些。這是因為在Compiler和Linker的部份參數較多。以下條列我目前發現需要修改的部份。需要注意的是,這只是針對單一plugin的撰寫,並不是建立一個build system。
首先當然要新增一個C++程式專案,並選擇專案型態為Shared
Library。在這個新專案中,修改其Project Properties中關於C/C++ Build的Settings部份。主要要增加的有:
C/C++ Build -> Settings -> GCC C++ Compiler -> Preprocessor:
在Defined symbols(-D)內加入_BOOL,LINUX, REQUIRE_IOSTREAM
C/C++ Build -> Settings -> GCC C++ Compiler -> Directories:
在Include paths (-I) 內加入Maya include
path(如:/usr/autodesk/maya8.5-x64/include)
C/C++ Build -> Settings -> GCC C++ Compiler -> Optimization:
在Other optimization flags欄位可加入"-pthread"或其他旗標
C/C++ Build -> Settings -> GCC C++ Compiler -> Miscellaneous:
在Other flags欄位,要加入"-fPIC"及"-fno-gnu-keywords"
以上這些是針對Compiler部份。以下則是針對Linker的部份
C/C++ Build -> Settings -> GCC C++ Linker -> Libraries:
在Libraries(-l)這裡需要增加的項目其實是可多可少。全部都寫上也無不可。目前發現需要加入的有
OpenMaya OpenMayaRender OpenMayaAnim OpenMayaUI OpenMayaFX GL GLU glut在Library serach path(-L)的部份一樣需要加入Maya library path(如:/usr/autodesk/maya8.5-x64/lib)
值得注意的是Debug的部份目前還沒找到好的作法。在Maya官方文件當中所提及的只有利用
maya -d ddd的方式來使用ddd作為除錯的工具。
參考資料Writing a Plugin