まず、Doxygenツールを使って、入力するC++ソースコードをXMI化します。(Doxygenバージョン1.8.6にて動作確認)

| Project name | プロジェクト名 |
| Project version or id | プロジェクトバージョン、もしくはID |
| Source code directly | ソースコードディレクトリ |
| Scan recursively | 再帰的にスキャンするかどうか。ONにするとサブフォルダも対象になります。 |
| Destination directory | XML出力先ディレクトリ。ソースコードの読込みに失敗する可能性が発生するため ディレクトリの文字列には、&, <,>, *, @の記号を使用しないでください。 |
| Extraction mode | "All Entities" を選択 |
| Language | "Optimize for C++ output" もしくは "Optimize for C++/CLI output"を選択 |
| Output format | "XML"を選択 |

| INPUT_ENCODING | UTF-8などソースコードの文字コードを入力。必ずソースコードと同一の文字コードを設定してください。(参照: Doxygen対応エンコーディング一覧) |

| ENABLE_PREPROCESSING | ON: ソースやインクルードファイル内の全てのCプリプロセッサ指令を評価します。 |
| MACRO_EXPANSION | ON: ソースコード内の全てのマクロ名を展開します。 |
| EXPAND_ONLY_PREDEF | デフォルト:OFF EXPAND_ONLY_PREDEFタグと MACRO_EXPANSIONタグの両方をONに設定した場合、マクロ展開はPREDEFINEDタグと EXPAND_AS_DEFINEDタグで指定されたものだけに制限されます。 |
| SEARCH_INCLUDES | ON: #includeが見つかると、INCLUDE_PATH内のインクルードファイルが検索されます。 |
| INCLUDE_PATH | デフォルト:なし インクルードのパス (プリプロセッサによって処理されるべきインクルードファイルを含むディレクトリ)を指定します。 |
astah*ではマクロを扱えません。Doxygenが展開した定義を利用する必要があるため、上記オプションはONに設定してください。
この対処法をお試し頂いた後も、読込み時にエラーが発生する場合は、弊社サポートへお問合せください。