CreateInputLayoutをContent Assistで入力できるようになるまで
DirectXヘルプをいちいち見ながらコードを組むのが面倒になってきたのでEclipseでアシストの設定を入れてみた…ら再びはまってしまった。
とりあえずいろいろいじってID3D11Device::CreateInputLayoutが入力できるところまで設定できたので自分用にメモ。
使ったバージョンは以下の通り。
- Eclipse 3.4.1
- CDT 5.0.1
以下手順
- 「Project」−「Properties」−「C/C++ General」−「Paths and Symbols」メニュー
これでヘッダに書いてあるクラスがindexerの対象になる。defineは設定しておかないとindexerが思ったところを見てくれないので設定しておく。ちなみに今回は面倒なので全言語(Assembly、GNU C、GNU C++)に同じ設定を入れた。
- 「Project」−「Properties」−「C/C++ General」−「Indexer」メニュー
- 「Enable project specific settings」のチェックボックスをONに変更する
- 「Files to index up-front」のところを「windef.h, objbase.h, winnt.h, d3d10misc.h」に変更する
これでアシスト対象にDirectXのクラスメソッドが出てくるようになる。ちなみにID3D10Blobを使わないならd3d10misc.hはいらない。てか、d3d10misc.hを入れていてもID3DBlob::GetBufferPointerとかはアシストに表示されない...orz (ID3DBlobはID3D10Blobのtypedefなのに...)
- 「Project」−「Properties」−「C/C++ General」−「File Types」メニュー
この設定は不要かもしれない。いろいろ試している最中で設定しただけだし。
今のところあまりコードを書いていないけど、ID3DBlob以外はアシストが効いているっぽい。でも、d3d10misc.hを設定に入れているとF3キーで定義を参照しようとするといちいち10と11どっちなのか聞かれてウザい...orz うん、消そう。いらないね(^^;
ちなみにBDSを使わずにEclipseを使う理由は、単にBDSが旧PCに入れてあるのと新PCは64ビットコードを出力できるC++Builderの発売待ちでbccしか入れてないからだったりする。まぁ仮に新PCへインスコし直したとしてもBDS2006のアシスト重いしねぇ。