GCC-XML の msvc に対する動作について

DDK じゃ動かねーじゃん。なんでもかんでもレジストリ見に行くなよ。


変数 GCCXML_COMPILER に設定した値から動作が変わります。
この変数は次の順位で決定されるようです。

  1. gccxml への引数
  2. 同じ名前の環境変数
  3. %ProgramFiles%\GCC_XML\share\gccxml-0.6\gccxml_config から読み込む


msvc7 だと HKLM\SOFTWARE\Microsoft\VisualStudio\7.0\InstallDir
msvc71 だと HKLM\SOFTWARE\Microsoft\VisualStudio\7.1\InstallDir
msvc8 は対応してないそうです。
上のキーを値を空にして作っておけば gccxml は欺せます。
gccxml は自前(gcc)でパースを行うので msvc とか本当はどうでもよくて、要はヘッダファイルのパスを探したくてレジストリを読みにいってるだけです。


でも余計なお世話なので GCCXML_USER_FLAGS (C コンパイラに渡されるユーザ引数) に探索パスを指定して gccxml を実行すれば動きます。


でも basetsd.h の POINTER_64 でコケます。よく分かんなくて進めらんない。