四月 09, 2008 Archives

2008-04-09 01:14:21

使用Eclipse開發Maya plugin的一些設定

在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)
C/C++ Build -> Settings -> GCC C++ Linker -> Miscellaneous: 加入"-D_BOOL -DLINUX -DREQUIRE_IOSTREAM"

值得注意的是Debug的部份目前還沒找到好的作法。在Maya官方文件當中所提及的只有利用

maya -d ddd
的方式來使用ddd作為除錯的工具。

參考資料Writing a Plugin


Posted by Wesly Chu | Permanent Link | Categories: 3D CG