Savageのmax pluginつくり中

ついさっき気づいてしまった・・・。

pluginのコード、すでに揃ってるじゃん!!

ざっとコードみなかった自分が悪かったorz


で、そっちのコードのコンパイル通すようちょこちょこいじってるところですが、とりあえずプロジェクトに足りないファイルを持ってこようとしたところ・・・。

baseinterface.hとprtvec.hのファイルがない!

mem.hってのはcoreに入ってたのでとりあえず上の2つは無視して組み込んでみて、mem.h内でコンパイルエラーがでるところは、pluginとは関係ないだろうと考え、ばしばしコメントアウト

それにより、現在ModelExporterR4までコンパイルが通るようになったのですが、問題発生。

IPhyContextExportやIDerivedObjectが見つからないということ。ModelExporterR4.h内でincludeしているphyexp.hとbipexp.hってファイルが怪しいんですが、これらは見つからないのでコメントアウトしている。
ざっと検索かけてみるとmaxsdk/include/CSの中にこれらのファイルがあるようなので、これらをCS/Phyexp.h、CS/Bipexp.hって書き換えてコンパイル・・・。

エラーでてるけど最後までいった!!
残りのエラーは・・・。boneメンバがboneMotion_tのメンバではないらしい。しかしこれはmaxsdk側に定義されているメンバだし・・・。maxsdk側を見てみるとboneMotion_tのメンバでboneがコメントアウトしてある。うーん・・・。まぁいいか書き換えちゃえ!w通った!

残りエラーは1つafxres.hが開けないとのこと。調べてみたところPlatformSDKを入れれば解決できそうなので今から入れてみることにする。
と、思ったけど、VS2008ExpressならPlatformSDK入ってるはずなんだよなぁ。まぁとりあえず入れてみて、ビルドパスに設定してやる。AFXRES.Hの場所はmfc以下なので、#include "afxres.h"を#include "mfc/AFXRES.H"としてやってビルド。

通った!けど、リンクエラーがずらずら。

mem.obj : error LNK2019: 未解決の外部シンボル _Host_Overhead が関数 _Mem_Copy で参照されました。
mem.obj : error LNK2019: 未解決の外部シンボル _System_GetPerfCounter が関数 _Mem_Copy で参照されました。
mem.obj : error LNK2001: 外部シンボル "_showPerf" は未解決です。
mem.obj : error LNK2019: 未解決の外部シンボル _Console_Printf が関数 _Mem_TagCount_Cmd で参照されました。
mem.obj : error LNK2019: 未解決の外部シンボル _Console_DPrintf が関数 _Mem_ShutDown で参照されました。
mem.obj : error LNK2019: 未解決の外部シンボル _Cmd_Register が関数 _Mem_RegisterCmds で参照されました。
C:\Program Files\Autodesk\3dsMax8\plugins\ModelExporterR4.dlu : fatal error LNK1120: 外部参照 6 が未解決です。

どうやら先頭の_はフェイクらしいので、各関数内のリンクエラーが出てる部分をとりあえずコメントアウトしてみる。全部ネットワーク関係と出力関係なのでおそらく大丈夫だろうと信じたい・・・。
とりあえず通ったのでテストしてみよう。