Doxygenのレイアウト出力する-lオプションが失敗した
ので、ソースパッケージの方に入ってるlayout_default.xmlをコピーしたらそれで良かったという話。
ちなみに、Doxygenなんじゃらほいって人はがぞーけんさくしてみると、Doxygenとはコードコメントの自動文書化ツールで、どんなHTMLヘルプが作れるかだいたいわかります*1。
で表示項目や順番なんかをいじくりたい時は、表示内容の全てをxmlで指定するわけですが、もちろんゼロベースで書くのはしんどいため、Doxygenに問い合わせてひな形を得る必要があります。それがドキュメントにもある通り
doxygen -l
でデフォルトのレイアウトxmlがDoxygenLayout.xmlとして出力できる事になってますが…失敗しちゃったんですね。
症状としてはxmlが謎のエンコードで出力されてしまい、大量のエンコ不能な空白に混じってとぎれとぎれにアスキー文字が出現する感じです。その文字列自体は人間なら読んで読めないことは無いという印象…もちろんxmlとしては崩壊しているので根気よく手修正する必要があります。でも量が多いのでその方法はすぐサジを投げました。なおDoxygen1.8.10/Win8.1-64bit環境で、32bit版も64bit版も大差なかったです。あとなんか出力するxmlファイル名を少し変えると空白の量が変化していました。ナンダコレ…。
ついでにちょっとソース追いかけてみたんですが、layout_default.xmlをベースにヘッダーファイル化してそれをリソースとしてビルドしてるようで、-lオプションを実行するとそのxmlリソースを内部の独自ストリーム出力クラスでutf8出力する流れっぽいので、やはりどっかでエンコ失敗してる気配(勘)。ストリーム出力のところが一番怪しいです(勘)。
とは言え、個人的にはxmlさえゲットできればいいやという事で、内部フロー的にやっぱこのlayout_default.xmlで良いのねと大方推測できたため捜査を打ち切りました。そもそもの目的だった、ツリービューのレイアウトを編集できたので良かったです(小並
もし同様のお悩みをお抱えでしたらソースをDLすると良いかもよ!