X



【コメント】doxygen【コンソメ】
■ このスレッドは過去ログ倉庫に格納されています
0003デフォルトの名無しさん
垢版 |
2008/05/30(金) 23:18:24
標準のスタイルシートも見飽きてきたんだけどなんか格好いいdoxygen用のスタイルシート
配布してるサイトってないの?
0004デフォルトの名無しさん
垢版 |
2008/05/30(金) 23:19:18
          ,r-、 l l l /:/
         ,.ノ-'、,!l ,! ,!:/"
  ..-''''~`'ーy'⌒`;'"ヾ,.`,r''"`:,
  '"`'ー-,,r____i';';';';';';';';';'; -j. ゙;
  --....i',.tノ;';';';':'..:::::..':';';';'(.λ
  -_.=/t-';';';';'..::::::. .:::::..';';';  ,!-ー''
  " _!_..>;';';';';'; ::::::::: ;';';';';r'〈ー--
  ,r'",>,i、'r;';';';';';';';';';';';';';' ,!イヽt-''
   ,r'" `t-,ッヽ、;';';';'.'.' i" ヽ ヽ,
  /    `''j   ーπ-'゙`'ー'r'~
        `ー、,__/ ':,
0006デフォルトの名無しさん
垢版 |
2008/06/02(月) 15:25:50
このスレは大器晩成型
0009デフォルトの名無しさん
垢版 |
2008/06/05(木) 11:54:36
Doxygenってやたらデグレ多くない?
やっとバグが直ったと思ったら今まで動いていた部分がおかしくなったり。
いつまでたっても満足のいく出力ができない。
0011デフォルトの名無しさん
垢版 |
2008/06/05(木) 21:06:31
output japaneseでやってるけど、左のツリーが化けてる
検証はしてない
0012デフォルトの名無しさん
垢版 |
2008/06/06(金) 00:15:15
おまいら Javadoc 風と Qt 風のどっちでコメント書いてる?
0014デフォルトの名無しさん
垢版 |
2008/06/06(金) 13:18:08
ようやくスレが出来たから聞ける
「doxygen」って何て読むの?読んでる?
0016デフォルトの名無しさん
垢版 |
2008/06/06(金) 13:40:56
うは。こんな過疎スレで即レスサンキュー
でも、英語読めませーん

---------------------------------
doxygenはどのように名前を持っていましたか?
Doxygenは単語ドキュメンテーションとジェネレータで遊ぶのから名前を得ました。
ドキュメンテーション - 医者 - dox
発電機 - 情報を得てください。
当時、私が法とyaccを調べていたので、事態は、「y」で、発音可能につけ加えて、なりました(適切な宣告はDocs-ee情報を得ています、長い「e」があるそう)。(そこでは、多くのものが"yy"から始まります)。
---------------------------------
翻訳したけど意味わかりませーん

「ドキシゲン」でいいのかな?
0018デフォルトの名無しさん
垢版 |
2008/06/06(金) 14:11:10
documentation-generator → docs-ee-gen だから
カタカナ表記ならドキシジェンかドクシジェンじゃないかな
俺もドキシジェンって言ってる
0021デフォルトの名無しさん
垢版 |
2008/06/07(土) 00:02:59
やっぱ読み方わからない奴結構いるんだな
0023デフォルトの名無しさん
垢版 |
2008/06/07(土) 03:42:43
ドキシゲンって読んでたお

HTMLでは、文字化けしないのに
chm作ると、左側の一覧文字化けする
どうしたらいいんだ
0028デフォルトの名無しさん
垢版 |
2008/06/08(日) 01:04:30
チョンでごめんなさい
>うまいこと
俺と比べて、丁寧に利用している意味。
というか、普通に活用してるって意味。
0031デフォルトの名無しさん
垢版 |
2008/06/10(火) 22:40:18
まだ30レスにしか達していないのかよ!!
0034デフォルトの名無しさん
垢版 |
2008/06/14(土) 18:14:58
XMLなら名前空間のところにURLがあるんじゃないの?
0038デフォルトの名無しさん
垢版 |
2008/06/18(水) 21:45:54
C 言語のソースから HTML 文書を生成するときにモジュールのページに
1つの関数に対して func() と Struct::func() のような2つの名前が表示
されてしまうのですが func() だけにできないでしょうか?
0041デフォルトの名無しさん
垢版 |
2008/06/20(金) 03:07:40
doxygenのlicenseの以下の文章の意味がよく分かりません。

Documents produced by doxygen are derivative works derived from the input used in their production; they are not affected by this license.
0042デフォルトの名無しさん
垢版 |
2008/06/20(金) 03:19:30
>>41
doxygen で生成した文書は生成に使われた入力の派生物、つまり、この( doxygen の)ライセンスに影響されない。
0045デフォルトの名無しさん
垢版 |
2008/06/26(木) 11:37:10
インハウスのCライブラリにコメントつけてDoxygenしたら、
100ページ超のrefman.pdfが出来上がってたまげた。

調子に乗ってデベロッパーズマニュアルまでDoxygenで書いてる。
細かいところでアレな事はあるけど、まだ後悔はしていない。
リファレンスマニュアルやサンプル実装と相互参照できていい感じ。
こういうのは、Docbookとかだとめんどくさくて。
0046デフォルトの名無しさん
垢版 |
2008/07/06(日) 09:53:21
グラフ中のフォントサイズが変更できないんですが、cssを直接弄るしかないんでしょうか
0047デフォルトの名無しさん
垢版 |
2008/07/11(金) 02:25:54
doxygen使えるな
0048デフォルトの名無しさん
垢版 |
2008/07/11(金) 20:05:04
VBのコードvbfilter.pyでをdoxygenで出力するとき、一部の宣言の説明が出力されません。
下の例だと、「関数の説明1」が出力されません。
どなたかVBでdoxygenしてる人助言下さい。お願いします。

'*
'*@class cTest
'*@brief テストクラス
'*@author me
'*@version 1.0
'*

'*@fn Function fncTest(obj as Variant)
'*関数の説明1
Public Function fncTest(obj as Variant) As Variant
fncTest = Nullpo
End Function

'*@fn Function fncTest2(obj as Variant)
'*関数の説明2
Public Function fncTest2(obj as Variant) As Variant
fncTest2 = obj.Nullpo
End Function
0050デフォルトの名無しさん
垢版 |
2008/07/13(日) 02:15:19
>>48
vbfilter.py は、空行を捨ててしまうんですが、
cTest のドキュメントブロックと fncTest のドキュメントブロックがくっついててもいいんでしたっけ?
私も自信ないので…
自分で使う分は空行を通すようにしたりとか、色々と手を加えて使ってます。

なお、 vbfilter.py の説明に、クラスの説明用のコメントは「'*」じゃなくて「'!」で始めるとあります。

それと、doxygen のマニュアルに書いてますが、説明する対象の直前に置くなら、 @fn コマンドはいりませんよ。
005150
垢版 |
2008/07/13(日) 02:33:51
>>48
もうひとつ思い出した。

vbfilter.py は分割行には対応してないので、
実際の fncTest の1行目の宣言が複数の行に分割されてたら認識してくれません。
0052デフォルトの名無しさん
垢版 |
2008/07/14(月) 04:02:29
>>50
ありがとうございます!
おかげで正常に出力できました。
ちなみに、関数の前に@fnをつけないとやはり出力されませんでした。
仕方なくつけることにします。

'*@class cTest
'!@brief テストクラス
'!@author me
'!@version 1.0

'*@fn fncTest(obj as Variant)
'*@brief 関数の説明1
Public Function fncTest(obj as Variant) As Variant
fncTest = Nullpo
End Function

'*@fn fncTest2(obj as Variant)
'*@brief 関数の説明2
Public Function fncTest2(obj as Variant) As Variant
fncTest2 = obj.Nullpo
End Function
005350
垢版 |
2008/07/14(月) 20:30:08
クラス名は、ファイル名やフォーム名から vbfilter.py が勝手に付けるので、
@class コマンドもいりませんよ。

@fn コマンドをつけないと出力されないのは、
1行目の @class コマンドの行頭が「'*」になっているために、
fncTest のドキュメントブロックとくっついてしまって
おかしな事になっているのではないでしょうか。

「'*」で始まる行と「'!」で始まる行は違うタイミングで処理されます。
最初に「'!」で始まる行が検出されて、クラス用のドキュメントブロックが出力され、
対応するc++形式のクラス定義が開始されます。
次にファイルの先頭から1行ずつパターンマッチングされて、
関数の1行目や変数定義や「'*」で始まるコメントがc++の書式に変換されます。
この段階では「'!」で始まる行は飛ばされます。
最後に「}」が出力されて、最初のクラス定義が閉じられます。

なお、関数の中身は全部捨てられてます。
中身の変換の機能追加も一時考えたんですが、挫折しました……。
0054デフォルトの名無しさん
垢版 |
2008/08/01(金) 22:14:18
ツリー部分の日本語が文字化けしてしまうんですが、どうやったら解決できるでしょう?
今のところ手動で変更してますが、Doxygenの設定でどうにかしたいです。
0055デフォルトの名無しさん
垢版 |
2008/08/01(金) 23:03:48
doxygenのバージョンと動かしているOS、食わせているファイルのエンコードとDoxyfileの設定などの情報をどうぞ。
私のところでは文字化けしていないので。
# 尤も、日本語のファイル名なんて使ってないからファイル名が化けない保証はないが。
0056デフォルトの名無しさん
垢版 |
2008/08/02(土) 01:33:38
>>54
バージョン1.5.6 なら、Doxygen自体のバグっぽいです。
公式のバグレポートには、ポーランドの人からも
ポーランド語特有の文字が化けると報告されてます。

1.5.5と1.5.6でツリービューの処理が変わってるので、
そこでエンコーディングの処理をミスしたまま、
作者様はラテン1な国の人なので気付いてないってとこではないかと。
005855
垢版 |
2008/08/02(土) 09:09:18
お、私が使っているのはCygwinのインストーラで入れた1.5.5だ。
006054
垢版 |
2008/08/05(火) 21:35:07
ありがとうございます!バージョンの違いってのは気づきませんでした・・・・
これでキー一つでビルド&ビルド後処理ができるようになりました。
0061デフォルトの名無しさん
垢版 |
2008/08/26(火) 16:11:52
今までdoxygenの事を全く考えずにC++で開発していたんですが、
突然思い立ってdoxygenで出力することにしました。
当然、対応形式のコメントでないので一切出力されません。
一から書き直そうと思うんですが、せめてソースを静的に解析して
関数やファイルの頭に定型のテンプレートを追記してくれるようなツールがあればと
探してるんですが、何かないですかね?
0062デフォルトの名無しさん
垢版 |
2008/08/26(火) 16:27:23
>>61
そんなことしなくても、コメントの付いてない関数も含めて無理矢理出力させるオプションがあったはず。
DoxyfileのEXTRACT_ALLの項目をNOからYESに変えてみたら?
006361
垢版 |
2008/08/26(火) 18:34:24
はい。その設定で関数は出るんですが、クラスとメンバが
何をしているかの簡単な説明も表示したいと思っています。
既に大量のソースが存在する為、少しでも手間をかけずに実現したいと試行錯誤中です。
自分の様にプロジェクトの途中からdoxygenの使用を考える人間が、
どのようにこの問題を解決しているのか知りたいところです。
0065デフォルトの名無しさん
垢版 |
2008/08/26(火) 19:53:17
>>63
とりあえず、説明文を付けるのは名前だけで中身を判断できないようなクラスやメンバだけに限定しようぜ。
006661
垢版 |
2008/08/26(火) 23:15:44
>>64 >>65
先ほどgccxmlを使用して自宅の環境で関数の位置と引数の情報を取得することができました。
ここからコメントを挿入していけばよさそうです。
お二人はdoxygen以外に勉強しなきゃいけないことがあるように思いますよ。
本当にありがとうございました。
006765
垢版 |
2008/08/26(火) 23:33:51
>>66
四行目が蛇足すぐるwww
でもまあ、健闘を祈る。
あと、無理するなよ。形だけのドキュメント作業なら特に。
006861
垢版 |
2008/08/26(火) 23:56:08
>>67
大丈夫ですよ、あなたみたいにひ弱じゃありませんから。
006961
垢版 |
2008/08/27(水) 00:18:56
名無しに戻ろうと思ったのですが偽者が湧いたので。
>>66は私本人ですが、>>68はどこぞの馬の骨です。

>>67
ありがとうございます。
"努力と根性"という言葉に何故かカチンときてしまい棘のある文章になってしまいました。
プログラマやその上司が気軽に使っていい言葉ではないと考えます。
たかが2chの戯言なのに、と自分でも驚いていますが。
ドキュメントはネット上で一般公開予定なので、なるべく解りやすいものを心がけます。

これ以降、私が>>61で書き込むことはありません。
書き込みがあったとしたら、それは私以外の誰かです。
007061
垢版 |
2008/08/27(水) 00:21:13
いいえ、>69こそがどこぞの馬の骨です。
そもそも、まともな神経をしていたらレスをつけてくれた人に馬の骨なんて使うわけないじゃないですか。
007165
垢版 |
2008/08/27(水) 00:41:27
ワロタw
0073デフォルトの名無しさん
垢版 |
2008/09/25(木) 11:13:21
word出力したら途中までしかクラスが出てこないのは何故?
0075デフォルトの名無しさん
垢版 |
2008/09/25(木) 13:04:40
>>74
htmlだと全部出てるだけど、途切れてる部分見直してみる
ありがと
007673
垢版 |
2008/09/25(木) 13:26:05
>>74
確認してみたけど、特に変な記述は見当たらなかった
でも、たまに出力先のwordでカタカナ部分が文字化けしているとこがあった
OUTPUT_LANGUAGEがJapaneseだと全く表示されず、Japanese-enだと途中まで表示されて
今Englishに変えたら文字化けだらけだけど全部出てきた

INPUTもOUTPUTもcp932でしてるんだけど、どうすりゃ文字化けせずに日本語だせるかな…
007773
垢版 |
2008/09/26(金) 15:47:20
追加報告です。
doxygenのVer1.54使っていましたが、1.47でword出力すると問題なくできました
ご迷惑おかけしました
0078デフォルトの名無しさん
垢版 |
2008/09/27(土) 08:34:51
doxyはバージョンあげると劣化することもあるからなあ
最新版のツリー表示の日本語化け直らないかなあ
0079デフォルトの名無しさん
垢版 |
2008/10/03(金) 00:09:52
1.5.7 age
0080デフォルトの名無しさん
垢版 |
2008/10/09(木) 12:07:46
v1.5.7.1 age
0081デフォルトの名無しさん
垢版 |
2008/10/12(日) 12:08:52
>>78
1.5.6でchm形式でインデックスのエンコーディングを選べるようになって文字化けが解消されたから、それで我慢すれ
0082デフォルトの名無しさん
垢版 |
2008/10/21(火) 20:34:18
C言語の構造体で、gccのattributeがメンバ「関数」扱いされてしまう
これどうにかならないかな?
OPTIMIZE_OUTPUT_FOR_CはYESになってる

struct Foo
{
    int Bar __attribute__((aligned(32)));
008582
垢版 |
2008/10/22(水) 10:40:25
>83-84
ありがとう、ただそれだとattributeが消えちゃうよね
なんとか残したまま正しく動作させたいんですよ
0086デフォルトの名無しさん
垢版 |
2008/10/22(水) 12:17:14
1.5.x で enum EnumName に対して @relatesalso StructName を書くと StructName のページに
EnumName が出るようになるのですが、enum のメンバーのリストが表示されなってしまいました。
1.4.x ではできていた記憶があるのですが、1.5.x で正常にする方法はあるでしょうか?

OPTIMIZE_OUTPUT_FOR_C は YES です。
0090デフォルトの名無しさん
垢版 |
2008/10/24(金) 09:39:03
正しくって……
そんな拡張に一一対応しろってのか?
ソースあるんだろうから自分でやれよと思うのだが。
0091デフォルトの名無しさん
垢版 |
2008/10/24(金) 10:10:38
いちいちソース書き換えとかコスト見合わないでしょ
だからそれ以外でなんとかする方法を探してるんじゃないか?

まあattributeは確かに独自拡張だが、gccだし割とよく使われてるんで対応してても良いと思う
0092デフォルトの名無しさん
垢版 |
2008/10/24(金) 10:15:31
汎用的に
構文解析時だけ指定キーワードを無視するオプションがあればいい
つか、ないのかな?
0095デフォルトの名無しさん
垢版 |
2008/10/25(土) 17:40:51
そもそもC言語にメンバ関数は無いんだからdoxygenのバグとも言えるだろ
想定外の構文には警告なりエラーなり出して欲しいよな
0097デフォルトの名無しさん
垢版 |
2008/11/08(土) 17:25:21
mac osx 10.5.5
doxygen 1.5.7.1

で実行しようとすると、Failed to run doxygen と言われて一切実行できません。
対処法知っている方、教えて下さい。
0098デフォルトの名無しさん
垢版 |
2008/11/19(水) 23:51:11
クラス関連図って作れますか?
1クラスの構造を図にはできるみたいですが・・・
C++です。
0100デフォルトの名無しさん
垢版 |
2008/12/17(水) 20:18:15
@dateの後ろに付ける日付をsubversionが自動更新してくれるように
$Date$にしたら、出来たhtmlで日付の見出しが2重になってました。
もしかしてバージョン管理システムのキーワードをdoxygenが認識して
適当に見出し付きで整形してくれるんでしょうか。
マニュアルにそれらしい説明を見た覚え無いんですが。
0102デフォルトの名無しさん
垢版 |
2008/12/23(火) 01:27:13
ちょっとメモ。
doxygenで出力したRTFがどうも文字化けするので調べてみたら、\\'を\\\'に変換することで解消することが判った。
要は\を表すのにそれ自身をエスケープして\\とする必要があると言うことなのだろうか。もうちょい調べる必要はありそう。
0103デフォルトの名無しさん
垢版 |
2008/12/27(土) 23:00:37
日本語がうまく通らない原因ってどこにあるの?
0105デフォルトの名無しさん
垢版 |
2008/12/28(日) 04:51:23
Doxygen 1.5.8 age
0106デフォルトの名無しさん
垢版 |
2008/12/28(日) 05:06:03
アップデートコネーから自分で作るか…
0107デフォルトの名無しさん
垢版 |
2008/12/28(日) 09:17:52
>>101
ヘッダーに書けば十分だからじゃないかな。

でも、詳細をヘッダーに長々と書いてヘッダーが読みにくくなりそうなときは、詳細だけcppに分けて書くことはあるよ。それでもdoxygenはちゃんとまとめてくれる
0108101
垢版 |
2008/12/28(日) 15:47:03
>>107 thx

十分かとも思えてきた。
概要かけばいいんだもんな。
漏れは最近doxygen向けのコメント付けはじめたからもうちょい使って慣れてみるわ
0110102
垢版 |
2008/12/29(月) 14:53:28
更に追加。他にも、エスケープすべき文字をエスケープしていない箇所を発見。
xyzzyの場合の正規表現置換でこれを行なうとかなり改善する。
(query-replace-regexp "\\(\\\\'..\\)\\([{}][^
][^t]\\)" "\\1\\\\\\2")
# 場当たり的だなぁ……
0111102
垢版 |
2008/12/29(月) 14:56:31
あー、済まない、補足。

文字列中に出てくる「{」も「}」も、どちらもエスケープしなければならないと言うのが>110の対応。
但し、文字列中かどうかの判断を厳密に行ないたくないので手元のファイルで場当たり的に対応してある。

誰か、ソース拾ってきて対策してくれる奇特な人はいないもんかのぉ。
0112デフォルトの名無しさん
垢版 |
2008/12/29(月) 16:04:40
>>111
文字列として表示されるべき「{」や「}」がエスケープされてないってこと?

いつもHTMLしか出してなかったんだけど、試しに手元にあるソースでRTF出してみたら、
こちらではリストをネストさせてるところで、上の階層の行末の書式文字の「{」が
普通の文字として扱われたりして、「{」と「}」の対応が崩れてエラーになってるっぽいです。
(いや、ネストされて表示はされてるから、書式文字以外に余分に「{」が付いてる?)

行末が特定の文字(「定」とか「得」とか)の場合になるみたいだけど、
条件がよくわかりません…
0113102
垢版 |
2008/12/29(月) 16:16:27
>>112
2バイト文字の2バイト目に{}\のいずれかが来るケースで、エスケープされないようです。
# 「定」「得」どちらも該当しないようですが……

処が文字列を明示的に区切らないのがRTFの仕様らしくて、キーワードとしての{や}と区別が難しいのですよ。
実は>102の対策だけだと{}の対応が崩れてしまってrtfの一部だけしか読み込まれないことが判って気づいたんですが。
# 客先に実態の1/3程度しか分量がない資料を提出しちゃったのは内緒w

念のため確認したら、手元のDoxygenはCygwin同梱の1.5.5でした。
# さて、rtfを変換するツールを真面目に作るのとdoxygenそのものを修正するのとどっちが楽だろかw
0114デフォルトの名無しさん
垢版 |
2008/12/29(月) 16:26:38
>>113
だいぶ前からエンコーディング指定して全部一旦 UTF-8 に変換されるようになったから
その手の問題は解決済みだと思ってるんだけど、何かバージョン上げれない理由でもあるの?
0116デフォルトの名無しさん
垢版 |
2008/12/29(月) 18:19:03
cygwinは使ってないので、それが理由かどうかは知りませんが、
1.5.6から1.5.7.1まではフレーム付きHTMLのツリービューで
英数字以外が文字化けするという問題がありました。
2日前に出たばかりの1.5.8でやっと解決されました。
0118デフォルトの名無しさん
垢版 |
2008/12/29(月) 20:15:40
全部一旦 UTF-8 に変換されるようになったのは、1.5.2以降だから、
>>113, >>115 の cygwin版も UTF-8 に変換されるバージョンです。

最新版でも日本語RTFはかなり駄目な感じです。
手元のソースを処理させてみたら、目次の見出しの「目次」の後ろとか、
あちらこちらに見えてはいけない「\par」や「{」が見えて、
本文数ページで破綻します。
0120118
垢版 |
2008/12/29(月) 22:31:08
昔、1.4.6でRTFを作ったことのあるソースを、設定をほとんど変えずに1.5.8に掛けても駄目でした。
1.4.6で作ったRTFの半分ぐらいしかファイルサイズがありません。
むしろ内部処理が UTF-8 になってから、おかしくなったんじゃないかという気がしてきました。
0121デフォルトの名無しさん
垢版 |
2008/12/29(月) 23:06:51
折角色々対応してあったのを、UTF-8にしたのを機に捨ててしまったような感じだな。
この正月休みの間に暇があるようならソースでも見てみるか。
0122デフォルトの名無しさん
垢版 |
2008/12/30(火) 01:23:34
過去のバージョンを取ってきて順に試してみました。
1.5.0までは日本語の RTF が生成できて
(おかしなところが無いかまではチェックしてませんが)、
1.5.1で、
"Warning: Output language Japanese not supported! Using English instead."
と表示され、日本語が表示できませんでした。
ここで一旦無かったことにされたようです。
0123デフォルトの名無しさん
垢版 |
2008/12/30(火) 03:40:46
問題分かったかも。

id 437346 のバグレポートで日本語対応の議論がされてるんだけど、
報告者の人が提案した、
x080より大きいバイトが来たらマルチバイト判別フラグON、
次のバイトでフラグOFF、というのをそのまま採用してくれたらよかったのに、
0x80より大きいかの判断をそのままフラグに入れちゃってるから、
2バイト目が0x80より大きい場合に、その次のバイトまでエスケープされて、
それがエスケープされたら困るものの場合に不幸になってるということかと。
0125デフォルトの名無しさん
垢版 |
2008/12/30(火) 08:55:13
>>123
事はそう単純じゃない。というか、もっと単純。
内部UTF-8をcp932に変換して、必要ならエスケープすべきなのにそれをしていないと言うのが>102=113の観測だろ。
例えば「ソソ」が「\'83\\\'83\\」にならないといけないのに「\'83\\'83\」になると。

それとも、二種類の問題が独立して存在しているのか?
0126123
垢版 |
2008/12/30(火) 10:22:07
>>125
ああ、すいません。
>>123で書いたのは、1.5.8の場合の問題です。
>>102,,>>113の、.1.5.5の問題はエスケープされてないというので合ってると思います。
1.5.8でそれに対する対応が入れられたけど、方法がまずく、
今度は逆にエスケープすべきでないところまでされたという話。
0128デフォルトの名無しさん
垢版 |
2009/01/08(木) 07:49:37
とりあえず保守ですが、あけおめ。

日本語rtf使えるようになるといいですね

自分はまだ皆様のようにハックに参加できるほど技術がないので、精進したいと思います。
0129102
垢版 |
2009/01/08(木) 09:55:41
又更につまらない問題に遭遇。
折角修正したrtfがWordだと読めるのにOpenOfficeだと文字化けする。
例えば、「\'83\\」のような>125が指摘した例だと、「\'83\'5c」のようにしないといけないらしい。
あーもう、rtfを解析するしかないのかなぁ。
# doxygen1.5.8で変わっているらしいからそっちに手を出すのは避けたいし。
0132102
垢版 |
2009/01/10(土) 15:17:25
ちょっとLinuxに1.5.8をインストールしたので出力してみたが、これは酷いw
2バイト文字を全てコード出力しているのはいいが、>123のように無関係なコマンド文字まで巻き添えにしてしまっている。
おまけに、コマンド文字列を何故か\commentで括ってしまっているので収拾がつかない状態。

そうそう、html出力のツリービューも、(UTF-8)指定なのにも関わらずプロジェクト名がEUCで出力されるので化け化け。
誰かなんとかして〜w
# ってことで、>131に期待♪
0134デフォルトの名無しさん
垢版 |
2009/01/12(月) 00:56:25
>>131
rtfgen.cpp の void RTFGenerator::postProcess(QByteArray &a) です。
こちらを参考に。
ttp://bugzilla.gnome.org/show_bug.cgi?id=437346

>>132
そういや最近プロジェクト名を日本語にしてなかったけど、これは…

どうやらDoxywizardのバグのようです。
テキストエディタでDoxyfile開いてプロジェクト名を修正して、
コマンドラインでDoxygenを実行したら、文字化けしませんでした。
0135デフォルトの名無しさん
垢版 |
2009/01/12(月) 02:36:31
>>134 ソース位置ありがとう。
これって、よくわかってないけど、postProcess()で、ファイル全体を
エスケープしてるのかな。
もしそうなら、rtfでの表示される文字列以外も全部エスケープされて
しまい、上のバグが症状がでてるんじゃないかな?
rtf表示文字列だけをエスケープするようにするには、postProcess()
の中でやってちゃだめで、rtfgen.cpp(にあるか知らないけど)
で表示文字列をrtfタグ中に埋め込む時コード当たりでやらないといけなそう?

とりあえず、doxygenをWindowsでコンパイル出来る環境作り
からやらないといけないのが辛いorz
0137134
垢版 |
2009/01/12(月) 21:40:12
>>135
0x80より大きい値とmb_flagが1のときだけエスケープされるはずです。
1.5.7.1以前のバージョンではmb_flagが無くて、0x80より大きい値という条件しかなかったので、
マルチバイト文字の2バイト目が「{」や「\」などの場合におかしくなってました。

mb_flagをマルチバイト文字の1バイト目で1にすれば、
次のバイトが0x80以下でもエスケープされるという仕組みのはずですが、
mb_flagの設定方法がまずくて、2バイト目でクリアされなくて
さらに次のバイトまでエスケープされる場合がある、という状況です。

ttp://bugzilla.gnome.org/show_bug.cgi?id=437346
で、T.Matsuyama氏が提示したコードが正しく動くはずです。

#そこまで分かってるな自分でやれ、と言われそうだ……
すいません、環境作りが荷が重いですorz
0140デフォルトの名無しさん
垢版 |
2009/01/27(火) 01:28:30
てか、>>137のURLが示すバグをreopenして開発者に教えてあげればいいんじゃないの?
アカウント持ってないから誰でもreopenできる設定なのかはわからないけど
0142デフォルトの名無しさん
垢版 |
2009/01/30(金) 01:55:55
コメントが一切ついてないソースに
関数の定義部分だけ自動的に
タグを生成してくれるツールないですか?
0147139
垢版 |
2009/02/15(日) 17:55:27
やっと>138を試せた。取り敢えず、cygwinからでも使えることと日本語が化けないことは確認した。
但し、OpenOffice(3.0)では{comment[^{}]}を取り除く必要があったこととTITLEなどのフィールドは
巧く変換できなかったけれど、これは元からそうなのかもしれない。
今度機会があれば、素直にMSwordに食わせてみるとしよう。
0148139
垢版 |
2009/02/17(火) 18:58:43
cygwinで>138を動かし、できたRTFをWORD2000に食わせた。
全選択してフィールドの更新、画像アンリンクのマクロを動かして、
docに名前を変えて保存。一応、スタンダロンで使える資料になるようだ。

で、画像アンリンクのマクロって需要あるかな。あるようならどっかで公開するけど。
0149デフォルトの名無しさん
垢版 |
2009/02/28(土) 05:29:11
doxygenのライセンスってGPLですよね。
doxygenのコメントを書いたソースって公開しないと駄目ですか?
0151149
垢版 |
2009/02/28(土) 05:50:38
>>150
ありがとうございます
0153デフォルトの名無しさん
垢版 |
2009/03/03(火) 22:08:28
ソフトのドキュメントを作るのにDoxygenを利用してもGPLにする必要なし。
ソフトの機能としてDoxygenを利用する場合はGPL。
0154デフォルトの名無しさん
垢版 |
2009/04/06(月) 21:16:11
@a と @p ってどう使い分けてる?
どっちも文中の引数のフォントを変えるために使うものみたいだけど。
0155デフォルトの名無しさん
垢版 |
2009/04/08(水) 12:32:53
\aは「特殊なフォント」ということで一般的にはItalicかな。
\pは\cと等価で「タイプライタフォント」ということで等幅フォントが使われる。
後は、実際の出力を見て検討したら?
0156154
垢版 |
2009/04/09(木) 00:04:14
普通はどうする、ということは特になくて、見た目の好みで使えばいいのですか。
ヘルプを見ると、@aは "refer to member arguments" 、
@pは "refer to member function parameters" と書かれてて、
微妙に使い分けがあるようなないような、よく分からなかったもので。
0157デフォルトの名無しさん
垢版 |
2009/04/09(木) 07:14:32
意味で使い分ければいいと思う。
フォントとかの体裁はCSSで変えられるんじゃなかったかな?やったこと無いけど。
0158デフォルトの名無しさん
垢版 |
2009/04/09(木) 08:11:53
@a の argument が実引数で @p の parameter が仮引数なわけだけど、
コメント中では仮引数しか現れない気がする。実引数が現れることなんてあるか?
0159デフォルトの名無しさん
垢版 |
2009/04/09(木) 09:06:56
恣意的に使い分ければいいんじゃね?

>>157
出力するものによって指定するスタイルシートや指定方法は違うけど、htmlならcss,だね。
やったことないけどw
0162デフォルトの名無しさん
垢版 |
2009/04/25(土) 21:37:10
メソッドのコメントは、戻り値がなくても「@return なし」と明示的に書くべきでしょうか?
引数がない場合も同様に「@param なし」と書くでしょうか?
0163デフォルトの名無しさん
垢版 |
2009/04/25(土) 21:38:20
前者はお好きにどうぞ。
後者は「なし」なんて引き数はないぞって警告が出るんじゃないかな?
0164162
垢版 |
2009/04/25(土) 21:45:11
>>163
レスありがとうございました。
確認したら「@param なし」ではwarning argumentと出ましたのでこれは書かないようにします。
0165デフォルトの名無しさん
垢版 |
2009/04/30(木) 13:43:57
今の大会は、開発環境の違いによる面白さもあると思う。
共通スペックでやるなら別に大会をおこせばよいと思う。
0167デフォルトの名無しさん
垢版 |
2009/04/30(木) 23:56:10
Doxygen 1.5.9 age
0169デフォルトの名無しさん
垢版 |
2009/05/12(火) 10:55:11
ソースの先頭のコメントの 理想的なサンプル を教えて。
言語は問わないけど、出来ればCで。
0170デフォルトの名無しさん
垢版 |
2009/05/12(火) 18:22:26
理想的かどうか知らんが、私の典型。
--
////////////////////////////////////////////////////////////////
/// \file foo.c
/// \brief あーたらこーたら
///
/// あーたらこーたらをあーたらこーたらするとかなんとか。
/// \date 2009/3-4
/// \author bar\@site
/// \attention なんだかんだ
/// \version hage.hige.hoge
//
--
0171デフォルトの名無しさん
垢版 |
2009/05/13(水) 04:06:28
>>169
とりあえず最小限はこうだろ。 JAVADOC_AUTO_BRIEF オンで。

/** @file
* 簡単な説明.
* 詳細な説明
*/

170 のやつだと、ファイル名はどうせ名前変更したときに更新し忘れるし、
日付や作者やバージョンはバージョン管理ソフトに任せればいい。
詳細な説明も attention も必要に応じて、だな。とにかく書かないで済むものは
書かないのが一番。
0173デフォルトの名無しさん
垢版 |
2009/05/13(水) 16:20:47
表書くのってtableタグ使うしかないんでしたっけ?
それだとソース上で見づらいんで、
リストみたいに簡易記法があればいいんですけど。
0175デフォルトの名無しさん
垢版 |
2009/05/13(水) 23:26:06
>>174
おすすめとは言えない

でも面白い使い道がある事は確か

実際に走らせてみて「おー」とか言って楽しむものだと思う
0176デフォルトの名無しさん
垢版 |
2009/05/14(木) 09:55:19
>>174
クラス関連図とか、煩いクライアント向けのコーリングツリーを作るのに便利。
# 余程酷いソフトハウスに当たった経験があるのか、関数の依存関係を知りたがるクライアントがいるのよ。
0177174
垢版 |
2009/05/14(木) 22:16:15
>>175-176
ほっほー。
ありがとう。
「ある程度習熟するために勉強を要してめんどくさそうだ」
と思っていたが、試してみようかなあ。
0178デフォルトの名無しさん
垢版 |
2009/05/14(木) 23:43:40
>>177
コメント付いてないのも全部出力する設定で、
とりあえず手持ちのソースそのまま掛けてみたらいいよ。

それで出来上がるものが気に入れば、それから書き方に慣れていったらいいし。
0180177
垢版 |
2009/05/15(金) 06:46:11
>>178
ありがとう。分かった、そうしてみるわ。
0181デフォルトの名無しさん
垢版 |
2009/05/15(金) 09:37:18
客先から小汚いソースを受け取ったら、取り敢えずDoxygenに掛けて
静的解析するのは基本だな。
0183デフォルトの名無しさん
垢版 |
2009/05/21(木) 13:35:09
ちょっと詳しい説明を箇条書きで入れたいんだけど、
空白行が入るとパラグラフが終わってしまうので、空白行を一切入れないで
長い文章を書かなきゃいけなくなり、なんていうか
ソースコードのコメントが非常に見づらい。本末転倒な気がするんだけど、
空白行を無視してくれる方法とか、ない?
0184デフォルトの名無しさん
垢版 |
2009/05/23(土) 02:32:07
>>183
ソースコード上でだけ行間が空いてればいいのなら、
全角スペースを入れておけばどうでしょう?
ドキュメント上で行が連結されたときに、余分な空白が入りますが。

ドキュメントでも行間が空くようにしたいのなら、
行頭の邪魔にならないところにでも「@n」を入れておくぐらいしか思いつきません。
0186デフォルトの名無しさん
垢版 |
2009/05/24(日) 14:01:52
doxygenであるライブラリのドキュメントを作った時、
そのライセンスってどこにどうやって記載すればいいの?

ドキュメント内に表示されるようにしたいんだけど。
0187174
垢版 |
2009/05/24(日) 16:39:03
doxygen気に入ってきた。


C++とdoxygen最新版にて。

ドキュメント作ると名前解決に使う::がドキュメントにもりこまれたり盛り込まれなかったりする。
例えばNameS::MyClassが、
ドキュメントの100行目ではNameS::MyClassになっているのに
101行目ではNameSMyClassになっていたりする。

これはどう解決すればいい?
0188デフォルトの名無しさん
垢版 |
2009/05/25(月) 10:31:42
>>187
このレスの流れを見ても分かるように、Doxygenは文字コードの扱いが未だ未だ不安定だったりする。
あんたの言う、「ドキュメント」がrtf出力ならこのスレにある対策版を使ってみた方がいいかもしれないし、
chm出力なら>185を参考にするといいかもしれない。
0190174
垢版 |
2009/05/25(月) 23:27:45
>>188
ありがとう。
説明不足だったね。
ドキュメントはフツーのHTMLなんだよね〜。chmじゃなくて。

>185をやってみたら文字化けは解消したんだけど
>> ドキュメントの100行目ではNameS::MyClassになっているのに
>> 101行目ではNameSMyClassになっていたりする。
この現象は解決しないのだ。。。

0191186
垢版 |
2009/05/25(月) 23:41:59
>>189
@pageコマンド
なんて初めて知ったわ。

どこかいい解説サイトとか紹介してくれる
お方、いらしたらお願い!
0192デフォルトの名無しさん
垢版 |
2009/05/27(水) 12:59:53
>>191
doxygenに付いてくるサンプルも参考になるよ。
当然全部英語だけど、記述例のソースと
それを使って出力されたドキュメントがある。
コマンドの説明が知りたかったら、
>>1 のサイトの日本語版マニュアルを見ればいいし。
0193186
垢版 |
2009/05/27(水) 19:11:01
>>192
そうか、ありがとう。
見てみるよ。
0195186
垢版 |
2009/05/28(木) 06:28:18
俺は最近doxygenを使い始めて、
最初に
Doxywizard
を使ってかなり直感的に操作できたから知らなかったが、
そうなのか。前は使いづらかったのか。

grach
0196デフォルトの名無しさん
垢版 |
2009/05/30(土) 12:54:18
#defineマクロ定義をドキュメント(html)に出力させたくて
ttp://www.doxygen.jp/commands.html#cmddef
ここを見て

C++ code - 19 lines - codepad
ttp://codepad.org/mUM77yZO

こんなの書いてみたんですが、
全然#defineマクロ定義が出力されません。

どうすれば良いでしょうか?
0197デフォルトの名無しさん
垢版 |
2009/05/30(土) 17:17:56
>>196
define_test.h のファイルのページ自体は出来てる?
実際のファイル名と @file の後ろに書いたファイル名が合ってないとかはないかな、と思ったもので。
0198196
垢版 |
2009/05/30(土) 23:13:55
>>197
ttp://loda.jp/uploader_nrnrnr/?id=2
こんなHTMLが生成されました。

どうなんでしょう。。。?
0199197
垢版 |
2009/05/31(日) 00:25:04
>>198
define_test.h ファイルのドキュメントのページができてないね。
>>196 のソースをコピペして同じ名前で保存してみたけど、
こっちじゃちゃんと出力されてるよ。

Doxyfile 晒してもらえるなら、何が違うか比べてみるけど。
0200197
垢版 |
2009/05/31(日) 00:31:38
>>198
もしかして、SHOW_FILESがOFFになってない?
Doxywizard使ってるなら、ExpartのBuildの下の方。
0201196
垢版 |
2009/05/31(日) 04:59:33
>>200
丁寧にありがとうございます。
Doxyfileは以下です。
C++ code - 1503 lines - codepad
ttp://codepad.org/aNCHcRW3
お願いします。
0202196
垢版 |
2009/05/31(日) 05:04:41
追記:
  SHOW_FILES=NOになっていましたが、
  YESにしても変わりませんでした。
  私の環境は
  windows xp sp2
  doxygen 1.5.9です。
0203197
垢版 |
2009/05/31(日) 05:45:10
>>201
WARN_IF_DOC_ERROR を ON にしたら判明した。
ENABLE_PREPROCESSING が OFF だとマクロは見てくれないらしい。
0204197
垢版 |
2009/05/31(日) 05:51:37
補足

WARN_IF_DOC_ERROR を ON にしたら、
「マクロにコメント書いてるけど、ENABLE_PREPROCESSINGがOFFだからスキップしたよ」
というようなメッセージが表示された。
0205196
垢版 |
2009/05/31(日) 14:59:44
>>204
ありがとうございます。
WARN_IF_DOC_ERRORとENABLE_PREPROCESSINGをYESにしてみましたが、
結果は代わりありませんでした。
Doxyfileはこちらです。
ttp://codepad.org/rsH3deU0
設定を読み込み直していないなどということはなく。
doxygenのウィンドウに表示される情報は
ttp://codepad.org/bqYOU7ug
の通りです。

すみませんがよろしくお願い申し上げます。
0206196
垢版 |
2009/05/31(日) 22:27:30
追記:
  テキストエディタでDoxyfileを開き、
  = NO
  を検索して全て
  = YES
  に置換してみました。
  それでdoxygenを走らせたところ、見事#defineは出力されました。
  やはり設定が問題な様です。

0207196
垢版 |
2009/05/31(日) 22:43:14
どこの設定が問題なのか探るために
Doxyfileにて二分木法的にNOをYESに置換してみました。

ファイルのど真ん中の行を基準に上だけないし下だけを
全部NO→YES置換を行いました。

しかし、このどちらも#defineが出力されません。
やはり複数の設定項目が関わっているようです。
0208196
垢版 |
2009/05/31(日) 22:56:12
解決しました。

正解は
・ENABLE_PREPROCESSINGをYESにする。
・SHOW_FILESをYESにする。
でした。両方が同時に満たされていないとだめなようです。

お手数をおかけ致しました!
0209197
垢版 |
2009/06/01(月) 01:23:37
>>205-208
解決したようなのでもういいかもしれないけど、
WARN〜系の設定は、出力状態を変更させるためのものではなくて、
コメント付けてるのに出力されない設定になってるとか、
記述漏れがあるとか、そういうエラーメッセージを表示するためのもの。

今後何かうまくいかないときに参考になるかもしれないので念のため。
0210196
垢版 |
2009/06/01(月) 05:54:55
>>209
はい、WARN〜系の設定に関して、よく頭に入れておきます。

ありがとうございました。
0211デフォルトの名無しさん
垢版 |
2009/06/01(月) 23:20:24
Windows XP SP2, doxygen 1.5.9です。
htmlドキュメントを生成すると、
本文中のstd::coutのようなスコープ解決演算子が消えてしまい、
stdcoutになってしまうことが多々あります。
再現するソースやその結果のhtml, Doxyfileは以下の様です。
ttp://loda.jp/uploader_nrnrnr/?id=3

具体的にはこのソースにて
 Test::foo()は
 numをstd::coutに出力します。
になるはずが
 Test::foo()は
 numをstdcoutに出力します。
になってしまいます。

再現条件は絞れておりません。
どうかお知恵をおかしください。
よろしくお願い申し上げます。
0212デフォルトの名無しさん
垢版 |
2009/06/02(火) 02:54:51
>>211
理由はよく分からないけど、std::coutの前後に空白を入れたら正しくなりました。
識別子っぽいものに非ASCII文字がくっついてたらおかしくなるってことじゃないかと思うんですが。
0213211
垢版 |
2009/06/02(火) 06:08:56
>>212
たしかに、前後に空白で正しく表示されます。
本当に適用したいソース(再現用ソースでない)でもうまく表示されます。
ありがとうございました。
0214デフォルトの名無しさん
垢版 |
2009/06/02(火) 23:53:16
>>195
今のdoxywizardはver.1.5.8(去年の暮れ頃)からですね。

基本的な設定項目だけのwizardモードと、
設定可能な項目が全部表示されるexpertモードの2本立てというのは
昔も今も変わりませんが、
設定を変えたら保存しないと実行できなかったとか、
設定項目のセクション切り替えがタブで、expertモードだと
たくさん並んでるのをぐるぐるスクロールさせる必要があったとか、
細かいところで少し不便でした。

マニュアルに載ってるスクリーンショットは旧バージョンのような気がします。
0215デフォルトの名無しさん
垢版 |
2009/06/02(火) 23:58:29
doxygenで、1カ所に書いたコメントを複数箇所で参照する方法はありますか?

例えば、
hoge.h内で@version 1.1.1
という記述が同じhoge.h内で他にも複数箇所に登場する場合、
全部に@version 1.1.1と書いてしまうとバージョンを上げる時に
全箇所を手動で修正する羽目になってしまいます。

どうにかする手段はありますか?

0216デフォルトの名無しさん
垢版 |
2009/06/03(水) 02:07:50
>>215
設定ファイルのALIASESで@version 1.1.1に別名をつければ、
バージョンを上げるときはそこだけ変えればOK

というのはどうでしょう?
0217デフォルトの名無しさん
垢版 |
2009/06/03(水) 03:43:33
質問です。

いままでのプログラムは以下のようにコメントしていたのですが、
doxygenでは/** */の形式にしないとドキュメント作成はできないのでしょうか?
コメント部分を目立たせたいので、できれば今までのコメント形式を維持したいのですが・・

今までのコメント例
//********************************************************
// Test.cpp
// 2009.09 by Tester
// テスト用のクラス
//********************************************************

これを
/**
*
*
*
*/
形式にするのは少し抵抗があります
0218デフォルトの名無しさん
垢版 |
2009/06/03(水) 08:40:05
>>217
特定の形式にしないと、ドキュメントにしないコメントと区別できないですからね……

使えるコメント形式はマニュアルの「Documenting the code」にいろいろ例があります。
(日本語マニュアルは古くて少し情報が少ないです)

今までのに比較的近いのは
/*****************************************************//**
* Test.cpp
* 2009.09 by Tester
* テスト用のクラス
*********************************************************/
でしょうか。
0220デフォルトの名無しさん
垢版 |
2009/06/03(水) 10:48:32
つまり、こうだな。
//********************************************************
/// \file Test.cpp
/// \date 2009.09
/// \author Tester
/// \brief テスト用のクラス
//********************************************************
0223デフォルトの名無しさん
垢版 |
2009/06/03(水) 22:23:44
>>218-221 thanks

ですが、ファイルの最初のコメントを
//********************************************************
/// \file Test.cpp
/// @file TEST.cpp
//********************************************************

と色々やってみたのですがうまくいきませんでした・・
ファイルの最初だと///ではドキュメント化されないのでしょうか
クラス宣言前や関数前では///で書いたコメントはちゃんとドキュメント
のコメントとなっておりました。

ちなみに、ファイル一覧からコードを見るとなぜか明朝体?で表示されてしまいます。
以下のドキュメントのようにゴシック表示をしたいのですが、Font設定はどのようにすればよいでしょうか?
http://www.ee.t-kougei.ac.jp/tuushin/lecture/technicalWriting/euclid/html/euclid_8c-source.html

0224デフォルトの名無しさん
垢版 |
2009/06/03(水) 22:57:41
追加で質問失礼。

Player.hの内容↓

/** @brief クラスの簡易説明
 * このクラスの使用目的・使用方法など詳しい情報を書く。
 * @todo 必要であれば記述
 * @bug バグがあれば記述
*/

#if !defined (__PLAYER_H__)
#define __PLAYER_H__

class CPlayer
{
...
}


というプログラムだと、インクルードガードのほうに

マクロ定義
#define __PLAYER_INFO_BASE_H__
クラスの簡易説明  * このクラスの使用目的・使用方法など詳しい情報を書く。

というドキュメントが付いてしまうのですが、
インクルードガードは一番上に書かなければいけないのでしょうか?

できればファイルに関するコメントを一番上に記述したいのですが・・・
0225デフォルトの名無しさん
垢版 |
2009/06/03(水) 23:10:52
さらに追加質問ですいませんorz


出力されたドキュメントは任意の名前のフォルダに作成されますが、
index.htmlが他の細かいファイルと一緒のフォルダにあるため探しづらいです。
そのため、index.htmlだけ残して他のファイルを別のフォルダに押し込む
というようなフォルダ構成を構築したいのですが、そういったことは可能でしょうか?
0226デフォルトの名無しさん
垢版 |
2009/06/03(水) 23:33:53
>>223
ファイルの最初のコメント:
ファイル名の大文字・小文字の問題かもしれません。
ファイル名無しで @file だけにしてみてはどうでしょうか。

フォント:
フォントはデフォルトのスタイルシートで、
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
と設定されてるので、
特にカスタマイズしてなければゴシックで表示されるはずなんですが。

>>224
対象を指定しないドキュメントは、直後にあるものに関連づけられます。
ファイルに関するコメントにしたいなら、@file が必須です。
0227デフォルトの名無しさん
垢版 |
2009/06/04(木) 08:53:01
>>224
本題とは直接関係ないと思いますが、ドキュメントに「 * 」が入ってるのが気になりました。
コメント行頭の「 * 」のところ、全角スペース使ってませんか?
0228デフォルトの名無しさん
垢版 |
2009/06/04(木) 23:00:02
>>226-227
thanks.

一度doxygenを全削除して再インストールしたら
なんとかファイル要約関連のコメントはでるようにできました。
0229デフォルトの名無しさん
垢版 |
2009/06/05(金) 00:21:06
また質問なのですが、
以下のような複数行について同じコメントをつけたい場合は
何かうまい記述法はありますか?

例:

/// 3D座標を示す値.
int nX;
int nY;
int nZ;

このままですと、nXだけにコメントがついてしまうため、
3つの変数全てに同じコメントを出すようにしたいのですが・・・

int nX;///< 3D座標を示す値x.
int nY;///< 3D座標を示す値y.
int nZ;///< 3D座標を示す値z.

これだと冗長な感じでちょっと抵抗があります
0234デフォルトの名無しさん
垢版 |
2009/06/06(土) 08:55:20
C++ code - 50 lines - codepad
ttp://codepad.org/imFgWQsK
これからdoxygenでhtmlドキュメントを生成させると、
メンバ一覧のページの上にある目次の部分は
すべてのメンバ一覧
Public メソッド
void foo (bool)
void foo (short)
void foo (int)
void foo (long)
void foo (double)
void bar (bool)
void bar (short)
void bar (int)
void bar (long)
void bar (double)
となります。このように並ぶと微妙に見づらいので
すべてのメンバ一覧
Public メソッド
foo系のメンバは
 void foo (bool)
 void foo (short)
 void foo (int)
 void foo (long)
 void foo (double)
bar系のメンバは
 void bar (bool)
 void bar (short)
 void bar (int)
 void bar (long)
 void bar (double)
の様にコメントをこの場所に入れたいしたいのですが、可能でしょうか?
0237デフォルトの名無しさん
垢版 |
2009/06/06(土) 11:53:22
doxygenで作ったthtmlドキュメントの
若干ながらフォントサイズが小さすぎると感じます。

このフォントサイズを大きくすることはできますか?
0238234
垢版 |
2009/06/06(土) 20:44:39
C++ code - 17 lines - codepad
ttp://codepad.org/vf7DFqYq
とりあえずこの様にしてみました。
/** document former */
がメンバ関数全部について、
/** document latter */
がメンバ関数void func_1_InGroup1()だけにつくかと期待したのですが、
結果は
void Test::func_1_InGroup1に
document former document latter
と付いただけでした。
どこが誤っているでしょうか?
よろしくお願いいたします。
0239234・238
垢版 |
2009/06/06(土) 20:56:51
C++ code - 26 lines - codepad
ttp://codepad.org/wOT4IAlv
とりあえずこれで行けそうです。
・・・法則性がわからない。
0240デフォルトの名無しさん
垢版 |
2009/06/06(土) 22:29:27
法則性はその>>238>>239の違いの@nameの有無の部分ですよ。

マニュアルより:

ブロックの開標識の前に、独立したコメント・ブロックを置くこともできます。
このブロックは、@name (または、\name) コマンドを含む必要があり、
グループのヘッダーを指定します。
そうしたければ、グループに関するより詳しい情報をコメント・ブロックに
含めることもできます。
0241239
垢版 |
2009/06/06(土) 22:36:14
>>240
doxygen用語の理解が今ひとつ足りなかったようです。
親切にありがとうございました。
0242デフォルトの名無しさん
垢版 |
2009/06/07(日) 12:54:49
Use built-in class diagram generator
だと継承に関するクラス階層図がうまく表示されますが、
Use dot tool from the GraphViz package
だとうまく表示されません。

このようなHTMLになってしまいます。
ttp://loda.jp/uploader_nrnrnr/?id=4
(これには再現する簡単なソースとDoxyfile、出来上がったHTMLが含まれています。)

環境はWindows XP SP2で、
doxygenはdoxygen-1.5.9-setup.exeを使ってインストールしました。
GraphVizはgraphviz-2.22.2.msiを使ってインストールしました。

GraphVizの問題だとしたら若干スレ違いかもしれませんが、
よろしくお願いいたします。
0243242
垢版 |
2009/06/07(日) 13:43:31
C++ code - 25 lines - codepad
サンプルソースが腐ってたので
ttp://codepad.org/AwsZMCHk
これでお願いします。
0244デフォルトの名無しさん
垢版 |
2009/06/07(日) 23:01:58
>>242-243
DOT_FONTSIZEが小さい(デフォルト値は10)のが気になりますが、
正直なところデフォルト設定と余りに違いすぎて、それだけなのかどうかは何とも。

もしこだわって作りこんだ設定でないのなら、一度デフォルト設定に戻して、
最低限必要なところだけ変えるようにしてみてはどうでしょう?

デフォルト設定にはメニューから[Settings]→[Reset to factory defaults]で戻せます。
0245デフォルトの名無しさん
垢版 |
2009/06/08(月) 00:35:20
>>242
どこを問題視したいのか判らんが、HAVE_DOTがNOだからクラス階層図が出ないのは当たり前なんだが。
つーか、>>244も含めて
Doxyfile位真面目に読んでくれ。
0246242
垢版 |
2009/06/08(月) 06:55:17
>>244-245
ありがとうございます。
教えを頼りに読んできます。
0247244
垢版 |
2009/06/08(月) 08:39:21
>>242, >>245
>>242のドキュメントではdotファイルが吐かれてるし、
クラス階層図はdotファイルの内容どおりに生成されてます。
文字が読めないのはフォントサイズが4のためです。
コラボレーション図はdotにノードがなぜか出力されてませんが、
画像ファイル自体は真っ白なのが存在していて、
dotファイルの内容どおりには生成されているといえます。

なので、これらはHAVE_DOT=YESの状態で生成されたはずです。
DoxyfileはHAVE_DOT=YESにする前に保存したものと思われます。
dotの中身が異常なので、ほかに問題があると思います。
0248デフォルトの名無しさん
垢版 |
2009/06/08(月) 15:59:54
Doxygenて
__declspec(dllexport) int WINAPI MyFunc(int arg);
とか、それを簡略化して
#define API(type) __declspec(dllexport) type WINAPI
とした場合に
API(int) MyFunc(int arg);
みたいな宣言もちゃんと処理してくれる?
0249242
垢版 |
2009/06/08(月) 16:17:43
>>247
ありがとうございます。
全然こだわって作りこんだ設定ではありませんので、
デフォルトに戻すことに抵抗はありません。

いろいろ教えの通り試してみます!
0251デフォルトの名無しさん
垢版 |
2009/06/08(月) 22:48:53
>>248
__declspec()は関数と誤認識されるので、
PREDEFINED で __declspec(x)= を定義するなどして、
プリプロセス時に取り除いてやる必要があります。
(マニュアルの「Preprocessing」に書かれてます)
0253250
垢版 |
2009/06/09(火) 19:08:32
レスありがとう。

じゃあエクスポートタブの設定はできないのですかね・・・?

日本語マニュアルを作成したいので以下の設定をしたいのですが

設定する箇所は2箇所です。まずProject内にある「OUTPUT_LANGUAGE」をJapaneseにします。これで日本語マニュアルが作成されます。ただ、このままだと文字化けが起こります。

 続いて、Inputの中にあるINPUT_ENCODINGに「CP932」と文字を打ちます。CP932というのはMicrosoftなどが拡張したShift-JIS文字コードです。Visual Studioなどのソースコードはこの文字コードを指定するとDoxygenでうまく読み込んでくれます。

改善方法分かる人いたらアドバイスください よろしくお願いします
0255250
垢版 |
2009/06/09(火) 19:54:02
>>254
お!
ありがとうございます
0257デフォルトの名無しさん
垢版 |
2009/06/11(木) 21:35:53
doxygen20090611.zip - uploader_nrnrnr
ttp://loda.jp/uploader_nrnrnr/?id=5
このaaaaaa.hとDoxyfileからdoxygenでhtmlドキュメントを生成させると、
 aaaaaa.h
 ソースコードを見る。
 マクロ定義
 #define ABS(x)
 #define MAX(x, y)
 #define MIN(x, y)
 #define MYMACRO "表示されたくない。"
このように表示されるのですが、私は最後の
 #define MYMACRO "表示されたくない。"

 #define MYMACRO
の様にしたいと思っております。
また、各マクロの説明文にある
 値:〜〜
というのも非表示にしたいと思います。

どうすればよろしいでしょうか?
0261258
垢版 |
2009/06/12(金) 08:02:39
>>260
ありがとうございます。
助かります。
0262257
垢版 |
2009/06/12(金) 19:21:47
>>259
MAX_INITIALIZER_LINESを0にする方法でいけそうです。
ありがとうございます。
0263デフォルトの名無しさん
垢版 |
2009/06/12(金) 19:54:28
doxygenの公式サイト(英語版)
が見たいのだが、リンクが死んでいる気がする。

それとも単に落ちただけだろうか?
0264263
垢版 |
2009/06/12(金) 23:59:05
単に落ちただけだったようだ。
勝手に騒いでスマソ。
0266デフォルトの名無しさん
垢版 |
2009/06/20(土) 21:38:29
Windows XP SP2, doxygen 1.5.9です。
Sample.h
ttp://codepad.org/Fijir9gC
これでhtmlドキュメントを生成させますと、
クラス階層図(継承関係)
が表示されません。
class Sample は std::runtime_error をpublic継承しているので
この継承の様子をGraphVizでグラフ表示させたいと思っているのですが、
どうすればよろしいでしょうか?

ソースとDoxyfile、出来上がったHTMLは
ttp://loda.jp/uploader_nrnrnr/?id=7
です。
同じDoxyfileを使っても、関数の呼び出し関係は
うまくGraphVizでグラフ化されて表示されています。

よろしくお願いいたします。
0267デフォルトの名無しさん
垢版 |
2009/06/20(土) 22:08:18
>>266
HIDE_UNDOC_RELATIONS が YES だからじゃないかと思いますが、
NO にしてもライブラリからの継承まで図に含めてくれるかどうか。
INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定もして試してみてください。
0268266
垢版 |
2009/06/20(土) 23:31:56
>>267
HIDE_UNDOC_RELATIONS
をNOにしたところ、
> INCLUDE_PATH にコンパイラのヘッダファイルのパスの設定
これをしなくても希望通りになりました。

ttp://imagepot.net/view/124550817681.jpg

感謝感激です。
どうもありがとうございました。
0270デフォルトの名無しさん
垢版 |
2009/07/02(木) 07:40:28
>>250
どうもパネル作成時のミス?のようです。
Exportタブの中身はWizardタブと同じように左右分割されているらしく、
「左側の何も無いパネル」「右側の設定パネル」という風になっています。
それで「左側の何も無いパネル」の幅が最大になっているため、
何も表示されていないように見えるようです。

マウスを右端に移動させるとカーソル形状が変化しますので、
そのまま左にドラッグすると設定内容のパネルが見えるようになりました。
0271270
垢版 |
2009/07/03(金) 02:55:10
少し訂正
左右分割だけではなく左側が上下に分割された3ペイン方式でした。
「左側の何も無いパネル」のように見えるますが下のほうに移動してるだけでした。
270と同じように下から上にドラッグすると表示物が見えるようになります。
0273デフォルトの名無しさん
垢版 |
2009/08/08(土) 18:32:18
Windows XP SP2, doxygen 1.5.9です。

ttp://loda.jp/uploader_nrnrnr/?id=9
このSample.hを同じくこのDoxyfileで
HTMLドキュメント化したのですが、
文字サイズが小さくて困っております。
DOT_FONTSIZE = 100
FORMULA_FONTSIZE = 100
の様にしてみても、フォントサイズが変わりません。

sakura-editor: クラス CDlgCancel
ttp://sakura-editor.sourceforge.net/doxygen/classCDlgCancel.html
ここにあるような
文字サイズにしたいのですが、どうすればよろしいでしょうか?
よろしくお願い申し上げます。


0274デフォルトの名無しさん
垢版 |
2009/08/08(土) 20:32:24
>>273
ドキュメント見てみたけど普通の文字サイズだと思うけど。
そういえば最近のバージョンはちょっと前のより文字サイズ小さいかも。

DOT_FONTSIZE はグラフの文字サイズ、FORMULA_FONTSIZE は式の文字サイズです。

文字サイズを変えるにはスタイルシートをカスタマイズすることになると思う。
やったことないけど、マニュアルによると、

doxygen -w html header.html footer.html stylesheet.css
でデフォルトのファイルを出力して、それを書き換えて

Doxyfile の HTML_STYLESHEET でそのファイルを指定するらしいです。
0275273
垢版 |
2009/08/08(土) 21:27:14
>>274
その方法で解決できました。
文字サイズは見る人によって好みがあると思っていましたので、
stylesheet.cssのフォントサイズ指定の部分を削除しました。
これにより人によって好みの文字サイズにブラウザ側で変更できるようになりました。
(前はブラウザ側でも文字サイズの変更が(通常操作の範囲では)できませんでした。)

どうもありがとうございました。
0276デフォルトの名無しさん
垢版 |
2009/08/12(水) 12:31:12
Doxygen
で表を表示する方法を教えてください。

ttp://www.doxygen.jp/htmlcmds.html
ここの<table>タグ以外にはありますか?
0277デフォルトの名無しさん
垢版 |
2009/08/12(水) 12:45:02
Doxygenはドキュメント生成ツールであってドキュメント記述言語ではないから
適宜表は表示されるよ。例えば関数一覧とかファイル一覧とか。

任意の表を記述したいと言うことなら話は別で。
元々html自体に表を記述するタグはtable以外にはないに等しいからねぇ。
横方向に高々2カラムしかないなら<ul>などで代用できなくもないけれど。
0278276
垢版 |
2009/08/12(水) 13:14:58
>>277
ありがとうございます。
良さそうなのでもうすこしマニュアルを読み込んできます。
0279デフォルトの名無しさん
垢版 |
2009/08/14(金) 02:53:06
>>276-278
私も任意の表をお手軽に作る方法はないかなと思ってました。

今ふと思いついたんですが、関連のタグの組み合わせをALIASESで簡略化したらちょっとはマシかも。
0281デフォルトの名無しさん
垢版 |
2009/08/22(土) 01:18:19
Doxygen 1.6.0 age
0282デフォルトの名無しさん
垢版 |
2009/08/22(土) 16:54:46
Doxygen 1.6.0で何か変わったことある?
設定とかは変わってないよね?
また設定しなおしとか嫌よ。
0283デフォルトの名無しさん
垢版 |
2009/08/23(日) 04:04:54
>>282
二重引用符で囲っていた中で @a とか使ってたのが利かなくなってましたorz
まんま " @a hogehoge "な具合に表示されてます。

バグなのか仕様変更なのかは知りません。
0284282
垢版 |
2009/08/23(日) 11:47:44
>>283
ありがとうございます。
私は@ではなく\で書いているので問題ないですかね。
0285283
垢版 |
2009/08/23(日) 19:42:34
>>284
それは試してないのでわかりません。

以前のバージョンから、「@」は利かなくて「\」なら利く局面もありましたから、
(例えば @dot 内の URL パラメータに \ref を使うとか)
もしかすると問題ないかもしれません。

なお、「"」の代わりに「"」を使えば、「@a」も機能しました。
ソースコメントでの視認性を考えるとやりたくないですが。
0286283
垢版 |
2009/08/23(日) 19:45:40
>>285
あ、「”」の代わりに「&quot;」です。
(今度はちゃんと表示されるかな)
0287282
垢版 |
2009/08/23(日) 20:21:51
>>285-286
なるほど。
詳細 誠にありがとうございます。

今のdoxygenで問題がないので、
念のためdoxygenバージョンアップするのは
控えておこうかと思います。
0288283
垢版 |
2009/08/24(月) 02:03:19
補足です。

>>283 のような状況になっているということはつまり、
二重引用符で囲まれている部分が区別されるようになったということで、
いままで単純に1文字として「"」を使ってた部分や、
うっかり片方の引用符を忘れていた部分でエラーが出ます。
0289どxyげん
垢版 |
2009/08/24(月) 10:56:52
doxygenで生成される、
左側の目次(ツリービュー)を自分が好きに
並べる方法している方いらっしゃいませんか?

誰か教えてください。
0290デフォルトの名無しさん
垢版 |
2009/08/25(火) 22:33:39
Doxygen 1.6.1 age
0291デフォルトの名無しさん
垢版 |
2009/08/29(土) 14:36:45
Windows XP SP2, doxygen 1.6.1です。
ttp://loda.jp/uploader_nrnrnr/?id=10

このhoge.hを同じくこのDoxyfileで
HTMLドキュメント化したのですが、
クラスの構成のところで説明の最初の文字が
 http://imagepot.net/view/125152409985.gif
の様に大文字になってしまいます。

自動的に大文字にしてくれるこの仕様を回避したいのですが、
どうすればよろしいでしょうか?
よろしくお願い申し上げます。

なお、doxygen 1.5.9でも同様の現象でした。
0293291
垢版 |
2009/09/01(火) 18:05:12
2chの方ばかり見ておりました。
ありがとうございます。
0294291
垢版 |
2009/09/01(火) 20:42:47
と思いましたら解決しませんでした。
\ mynamesp::hogeクラスです。とすると、不要な半角の\が入ってしまいます。
! mynamesp::hogeクラスです。とすると、不要な半角の!が入ってしまいます。
 mynamesp::hogeクラスです。とすると、doxygenの抱えるバグ(*)により、mynamesphogeとなってしまいます。
(*)全角文字に半角英数が続き、スコープ解決演算子である::がその後ろに来たとき、::が無視されるというバグです。
どうしたらいいでしょうか?

http://loda.jp/uploader_nrnrnr/?id=10&dsq=15701579#comment-15701579
で質問させていただいている者です。
0295デフォルトの名無しさん
垢版 |
2009/09/02(水) 01:21:01
>>294
lodaのコメントは、行頭に「\」や「!」を入れるのが
大文字化されないための書き方という意味じゃなくて、
文の先頭にクラス名がこない書き方を工夫すればという意味だと思う。

# 一覧表以外のところでは大文字化してないから、個人的にはバグじゃないかと思うけど。

「::」が消える件は >>211-213 を参照。
0296291
垢版 |
2009/09/02(水) 06:54:56
>>295
私もバグではなく仕様だとは思っています。

::が無視されるのはバグですが。
最速で>>187さんが触れてますね。

どうもありがとうございました。
0297デフォルトの名無しさん
垢版 |
2009/09/04(金) 08:46:55
プログラミング言語によっては全角文字も識別子に使えることを考えると、
文中に空白で区切られずに書かれてる識別子を正しく認識して欲しいというのは、
日本語の構文を理解する必要のある無茶な要求じゃないかな。
0298デフォルトの名無しさん
垢版 |
2009/09/04(金) 12:51:33
そうか?
別に煽りたい訳じゃ無いけど、消えてしまうのは文字コードの問題だと
考えるのが普通では?
だって構文解析いらないでしょ。
0299297
垢版 |
2009/09/05(土) 01:43:17
>>298
消えてしまうのはバグだと思うけど、
クラスメンバを認識して自動的にリンクを張る機能があるんだから、
その過程で「::」を特別扱いしてると思うのよ。

ていうかごめん、言葉が足りなかったわ。
言いたかったのは、バグが起きにくい書き方をするように
歩み寄ってもいいんじゃないかということなんで。
0301デフォルトの名無しさん
垢版 |
2009/09/10(木) 19:41:01
>>300
1.6.1前からでも赤くなかった?
おそらくデフォルト値から変更された物が赤いんじゃないかと思われる。
0302300
垢版 |
2009/09/10(木) 20:03:13
>>301
どうもありがとう。確かに入力すると赤くなり、消すと黒くなるから変更されたところだ。
前は1.5.6を使っていただけど赤くはならなかったので、最初はエラーかと思った。
0304デフォルトの名無しさん
垢版 |
2009/09/16(水) 00:28:43
doxygenで、C++でhtmlドキュメントを作りたい時、
 ここからここまでの範囲のソースはドキュメントしないでね
あるいは
 このクラスはドキュメント化しないでね(ドキュメントに載せないでね)
といった指示はできるのでしょうか?

よろしくお願いいたします。
0305デフォルトの名無しさん
垢版 |
2009/09/16(水) 03:34:57
>>304
素直な方法は、ドキュメント化したい部分に一通りdoxygen用のコメントをつけて、
EXTRACT_ALL は NO にして、
HIDE_UNDOC_MEMBERS と HIDE_UNDOC_CLASSES を YES にすることでしょうか。

そうすれば、コメントの付いている部分だけがドキュメント化されます。
0306デフォルトの名無しさん
垢版 |
2009/09/16(水) 07:05:22
>>305
ありがとうございます。
私は
> EXTRACT_ALL は NO にして、
> HIDE_UNDOC_MEMBERS を YES に
まではしているのですが、
HIDE_UNDOC_CLASSES
はNOにしています。
というのも、YESにするとドキュメント化したいクラスが
標準ライブラリや他人のライブラリ(doxygenコメント化されていない)
の中のあるクラスを継承しているクラスであった場合、
継承関係がグラフ化されなくなってしまうからです。

かといってこのままでは実装用のクラスまでも
HTMLドキュメントに出て来てしまうのが
ちょっと気持ち悪いので、悩んでおります。
0307デフォルトの名無しさん
垢版 |
2009/09/17(木) 01:10:31
>>306

doxyfile で
PREDEFINED = NO_DOXYGEN
としておいて、ヘッダの方で

#ifndef NO_DOXYGEN
実装用クラス
#endif

とか私はやってます。
0308306
垢版 |
2009/09/17(木) 06:59:25
>>307
ありがとうございます。
そんな方法があったんですね。
0309307
垢版 |
2009/09/17(木) 16:45:15
>>308

後で見返してよく考えたら「NO_DOXYGEN」だと意味逆でしたね。
まあそれはともかく、この方法を使うと、
たとえば利用者マニュアル用 doxyfile と
内部開発者用 doxyfile とかを使い分けて
(それぞれ別々の PREDEFINED を設定しておく)、
コード内では #ifndef を使ってマニュアルに出したいものを制御
なんてこともできます。
0310306
垢版 |
2009/09/17(木) 21:03:18
>>309
なるほど、深いですね。
面白そうです。
ありがとうございます。
0311306
垢版 |
2009/09/18(金) 00:20:10
#ifndef DOXYGEN
実装用クラス
#endif
としてみましたが、
クラス一覧に相変わらず実装用クラスが出力されます。

 doxygen 1.6.1, Windows XP SP2
Doxyfileは
 ttp://loda.jp/uploader_nrnrnr/?id=11
です。

恐れ入りますが、>>307さんのdoxygenのバージョンはいくらでしょうか?
0312306
垢版 |
2009/09/18(金) 00:20:56
ちなみにちゃんと
#ifndef DOXYGEN
になっています。
#ifdef DOXYGEN
だったりはしません。
よろしくお願いいたします。
0313307
垢版 |
2009/09/18(金) 01:26:34
>>311-312

doxyfile 拝見しました。
1312 行目の EXPAND_AS_DEFINED の方にマクロ名が記述されて
いるようなんですが、これを 1305 行目の PREDEFINED の方に
記述して試してもらえますか?

ちなみに、私が使用している環境は 1.6.1 で
OS は主に Mac OS X と FreeBSD です。
(一昨日くらいまで 1.5.9 使ってましたけど。)
あ、でも doxyfile は 1.5.8 の時につくったものでした。
0315306
垢版 |
2009/09/18(金) 11:12:07
>>313
申し訳ございません。
ご指摘の通り大変みっともない間違いをしでかしており、
恥ずかしいかぎりです。

うまく動きました。
ありがとうございました。
0316デフォルトの名無しさん
垢版 |
2009/09/18(金) 12:01:39
ttp://codepad.org/ACEXhsw8
これをdoxygenに食わせると、
クラス->構成のところで
 exception
 NS::hoge
となります。
 画像:ttp://imagepot.net/image/125324281122.jpg
つまり何故かstd::が出力されません。
(解説本文にはstd::が出力されるのですが。)

これを
 std::exception
 NS::hoge
と表示させたいのですが、何か方法はありますでしょうか?

よろしくお願いいたします。
0317307
垢版 |
2009/09/18(金) 12:08:01
>>314

まあまあ。
マニュアル読むと、PREDEFINED と EXPAND_AS_DEFINED の説明は
確かにかなり紛らわしいのよ。試行錯誤の過程で勘違いしても仕方がない。
私もかつては戸惑った口。

>>315

お役に立てて何よりです。
0318デフォルトの名無しさん
垢版 |
2009/09/18(金) 12:25:36
doxygen 1.5.8を使っているんだけど、例えばstd::vector<std::vector<int>>が通らないのね。
きちんと> >にしないといけないらしい。
0320デフォルトの名無しさん
垢版 |
2009/09/18(金) 12:57:05
>>319
いやいや、会社でほたえちょる阿呆がおったからソースを見たら、>>で書いていたってことで。
それで気づいたんだが、VC++はエラーにしてくれないんだね。
0322デフォルトの名無しさん
垢版 |
2009/09/18(金) 17:00:22
ttp://www.doxygen.jp/grouping.html#memgroup
これで生成した
ttp://www.stack.nl/~dimitri/doxygen/examples/memgrp/html/class_test.html
ですが、
今のdoxygen 1.6.1で実行しますと
 Public Member Functions

 Group2
等のグループ名が改行の余白無く上にくっついて表示されませんか?
ttp://www.doxygen.jp/grouping.html#memgroupに限らず任意のファイルを
htmlにしても起こると思うのですが、皆様はどうでしょうか?
0323デフォルトの名無しさん
垢版 |
2009/09/19(土) 12:08:12
>>322
私の方でも同じ現象が出てます。
自分の書き方が悪いのかもと思いつつ、
ほとんど追求してませんでしたけど。
0324322
垢版 |
2009/09/19(土) 13:07:25
>>323
ありがとうございます。
私は同じsourceで
Doxygen1.5.9→1.6.1のアップグレードで症状が発生したため、おそらく仕様変更に伴う不具合だと思っています。
じき直ると期待しています。
0325デフォルトの名無しさん
垢版 |
2009/09/20(日) 11:44:49
> BUILTIN_STL_SUPPORTオプションをオンにしない限り、doxygen は STL クラス
を認識しません。
> STLクラス (std::string, std::vector など) を使っていても、STLソース (そ
のタグファイル) を入力としてインクルードしたくない場合は、このタグを YES
にしてください。 するとdoxygenは、STLクラスを引数に含む関数宣言と定義 (た
とえば、func(std::string); と func(std::string) {}) をマッチングします。
また、STLクラスを含む継承・コラボレーション図をより完璧で正確にすることも
できます。

といった説明がDoxygen日本語マニュアルにあるのですが、いまひとつ意味がわか
りません。

要するにBUILTIN_STL_SUPPORTはデフォルトでYESにしてしまえば良いわけでしょうか?
それとも何がデメリットがあるのでしょうか?
0326デフォルトの名無しさん
垢版 |
2009/09/23(水) 01:46:24
>>325
Doxywizard で、 BUILTIN_STL_SUPPORT にカーソルを持っていったときに
表示される説明は、もう少し分かりやすいです。
STL のクラスを使ってるけど STL のソースをインクルードしたくない場合に
YESにするようにと書いてます。

ファイルの読み込みを抑えたいような場合でしょうか。

逆に処理系付属のヘッダも読み込む設定にしていて、 BUILTIN_STL_SUPPORT も
YES にすると、二重定義のような状況になるんじゃないかと思います。
0327325
垢版 |
2009/09/23(水) 11:39:21
>>326
ありがとうございます。

ちなみに
Yahoo!検索 - BUILTIN_STL_SUPPORT
ttp://search.yahoo.co.jp/search?p=BUILTIN_STL_SUPPORT&search_x=1&tid=top_ga1_sa&ei=UTF-8&pstart=1&fr=top_ga1_sa&b=11&qrw=0
こんな感じになりました。
どうやら大半の方がデフォルト値のNOにしているようです。
0328316
垢版 |
2009/09/26(土) 18:13:55
どなたか>>316の解決策をご教示いただける有識者はいらっしゃいませんでしょうか?

どうかよろしくお願い申し上げます。
0330316
垢版 |
2009/09/27(日) 01:04:43
>>329
HIDEUNDOCMEMBERSをNoにして、出力させるとこうなりました。
0331316
垢版 |
2009/09/27(日) 10:43:25
>>329
EXTRACT_ALL は NO
HIDE_UNDOC_MEMBERS は YES
HIDE_UNDOC_CLASSES は NO
でした。

0332デフォルトの名無しさん
垢版 |
2009/09/27(日) 13:24:58
/** \page hojodocs 補助ドキュメント
*/
としますと
ttp://uploader.rgr.jp/src/up1067.gif
の様に
「メインページ」「クラス」「ファイル」というタブと並んで「関連ページ」というタブが出来て
その中に補助ドキュメントというページが出来ます。

これを
「メインページ」「クラス」「ファイル」というタブと並んで「補助ドキュメント」というタブが
出来るようにする方法はありませんでしょうか?

単純に/pageを何か適当な物に変えれば良いのではないかと探ってみたのですが
どうしても分かりませんでした。

よろしくお願いします。
0334316
垢版 |
2009/09/27(日) 22:56:11
>>333
左様でございましたか。失礼いたしました。

私の環境は
 doxygen 1.6.1, Windows XP SP2
で, Doxyfile, hoge.h, 成果物htmlは
 ttp://loda.jp/uploader_nrnrnr/?id=15
です。
お手数おかけ致しますが、こちらでいかがでしょうか?
0335デフォルトの名無しさん
垢版 |
2009/10/01(木) 01:53:57
>>304-315
今更だけど、別の方法があったので。
@cond と @endcond で囲んだ範囲は、
@cond につけたラベルを ENABLED_SECTIONS に含めるかどうかで、
ドキュメント化するかどうかを設定できるようです。
0336デフォルトの名無しさん
垢版 |
2009/10/01(木) 10:49:27
>>335
こりゃいいやと試してみた。
@condと@endcondは独立したコメントブロックにないと巧く認識しないみたいで、ちょっと悩んだ。
# つまり、前後の空行を詰めるとダメっぽい。
それと、処理させないだけならセクションラベルは要らないのだけれどundocumentedにしたのは深謀遠慮。
--
/// \file foo.h
///

/// \cond undocumented

/// \brief Dummy.
/// あーだこーだ
class dummy {
public:
dummy() {}
};
/// \endcond

/// \brief Foo.
/// どーでこーで
class foo {
public:
foo() {}
};
--
# どうでもいいけど、JAVADOC_AUTOBRIEFはyesなので念の為。
0337304
垢版 |
2009/10/01(木) 10:51:57
ありがとうございます。
プリプロセッサを使った方法はエディタで対応する最初と最後をすぐ見つけらられるという利点がありますが、
@condと@endcondを使った方法はコメントだけで解決する->ソースに手を加えてはいないという点が利点ですね。

0338デフォルトの名無しさん
垢版 |
2009/10/06(火) 16:41:43
Windowsでいろんなコンパイラに対応できるライブラリを書いてるんだけど,VC++だと
クラスのコンストラクタには呼び出し規約 __fastcall が使えないので,ヘッダファイルに
以下のような定義を書きました(コンストラクタの先頭に書いておくために)。

#if defined(_MSC_VER) //VC++の場合空文字
#define __FASTCALL
#elif //その他のコンパイラの場合は__fastcall
#define __FASTCALL __fastcall
#endif

これをDoxygen(1.6.1)でドキュメント化するとき,_MSC_VERが定義されている時と定義されていない
時の説明が両方出るようにしようと思って,いろいろやってみたけどうまく行きません。

上の例はDoxygen用のコメント付けはしていませんが,Doxyfileで PREDEFINEDに_MSC_VER と
!_MSC_VER の両方を書いておくと,両方の #define__FASTCALL がドキュメント化されるところまでは
良かったのですが,行末に ///> で異なる説明を書いても両方の説明に同じものが(マージされて)
出てきてしまいます。

良い方法があったら教えてください。
0339338
垢版 |
2009/10/06(火) 16:59:07
>>338
ちょっと間違い。上の例で #else のところが #elif になってしまっているので
修正したら,_MSC_VER と !MSC_VER を両方 PREDEFINED に書いておく
という手は使えませんでした。結局 PREDEFINED にどう書くかで,
片方のドキュメントしか作成されません。
0340304
垢版 |
2009/10/06(火) 18:24:02
>>339
PREDEFINEDでできませんか?

つまり
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
とすれば

#ifndef DOXYGEN_SHOULD_SKIP_THIS

#if defined(_MSC_VER) //VC++の場合空文字
#define __FASTCALL
#elif //その他のコンパイラの場合は__fastcall
#define __FASTCALL __fastcall
#endif

#elif /* DOXYGEN_SHOULD_SKIP_THIS */

/*! 説明を入れる。
*/
#define __FASTCALL

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

0341339
垢版 |
2009/10/06(火) 18:54:46
>>340
さすがに両方の説明を個別に表示することは出来ませんが,それで事足りますね。
ありがとうございました。

この方法使うと,Doxygenがスキップしない部分には,

#define __FASTCALL "" or __fastcall

とかメチャクチャ書けますねw
0345339
垢版 |
2009/10/07(水) 10:26:51
>>342
それだけだと,#define __FASTCALL あるいは #define __FASTCALL __fastcall のどちらかしか
ドキュメント化されないので...>>340の方法だと,>>341のようにコンパイラでコンパイルされると
困るようなメチャクチャな説明をドキュメント化できるのでわかりやすい。

理想的には,

#define __FASTCALL
      VC++ではコンストラクタに__fastcallが使えないので空文字として定義される

#define __FASTCALL __fastcall
      VC++以外では__fastcallとして定義される

みたいにドキュメント化されるといいんだけど,難しそうなので>>341に書いたように

#define __FASTCALL (null string) or __fastcall
      VC++ではコンストラクタに__fastcallが使えないので空文字として定義される。VC++以外では__fastcallとして定義される。

のようにドキュメント化されれば実用上は問題ないと思う。


>>343
大文字の方も予約されてるとは知らなかった。ありがと〜。
0346デフォルトの名無しさん
垢版 |
2009/10/07(水) 10:48:29
>>345
メチャクチャな説明がわかりやすいとか、おかしなことを言うね。
実用上問題なければ奇怪な書き方しないほうがいいだろうと思うし。
0347340
垢版 |
2009/10/07(水) 18:07:29
>>346
別にメチャクチャはまあ言葉のあやなんじゃないですかね。

オフィシャルでも
ttp://www.stack.nl/~dimitri/doxygen/
> You can even `abuse' doxygen for creating normal documentation (as I did for this manual).
と言っているぐらいですし
多少の奇怪な書き方は許容範囲では?
タダの宗教論争になってしまいますが。
0350デフォルトの名無しさん
垢版 |
2009/10/10(土) 07:47:27
>3
ttp://stackoverflow.com/questions/165451/suggest-a-good-doxygen-stylesheet
なさそうだね
0351デフォルトの名無しさん
垢版 |
2009/10/13(火) 10:41:56
寧ろ、doxygen.cssをカスタマイズしている人には紹介してほしいなぁ。
ソースを公開しろとまでは言わないから。
後は、こんなのが欲しいなんてリクエストでもあれば創造意欲が沸くかも知れない。
0352デフォルトの名無しさん
垢版 |
2009/10/13(火) 21:08:49
しかしデフォルトのにしておかないと
将来のバージョンアップに毎回追随するのが
結構つらくなるのではと予感。
0357デフォルトの名無しさん
垢版 |
2009/10/28(水) 15:51:53
privateなメンバのうち、(純粋)仮想関数だけをドキュメントに出力する方法ってないものでしょうか
EXTRACT_PRIVATE = YESとすると、見せたくないprivate変数や非仮想関数まで出てきてしまうのがイヤで・・・
0358デフォルトの名無しさん
垢版 |
2009/10/28(水) 23:24:18
>>357
そんな状況いままで無かったからな。
初めて考えてみる。

>>340が書いた方式を駆使して
どうにかできそうな気もするが良いアイディアが浮かばない。

0359デフォルトの名無しさん
垢版 |
2009/11/10(火) 14:57:36
Doxygen 1.6.1 をソースパッケージから VC8 でビルドしようとしたのですが src/translator_*.h
が言語毎にいろいろなエンコーディングで保存されていて文字列リテラルの部分でエラーが大量発生する
(おそらく多バイト文字に '\' や '"' が含まれる) のですが、Windows でビルドするときは特別な
手続きがいるのでしょうか?
0360デフォルトの名無しさん
垢版 |
2009/12/05(土) 01:55:28
クラスメソッドの詳細の、“コンストラクタ・デストラクタ”のセクションに
デストラクタが入らないのはdoxygenのバグだよね?
あと、@nameコマンドで1つのクラスに同じ名前のメンバグループを
複数作った場合、それぞれが別のグループとして吐き出されるのは仕様?

あ、どっちも1.6.1の話ね
0361デフォルトの名無しさん
垢版 |
2009/12/05(土) 12:30:58
>>360
> クラスメソッドの詳細の、“コンストラクタ・デストラクタ”のセクションに
> デストラクタが入らないのはdoxygenのバグだよね?
マジで?
試してくる。
0362361
垢版 |
2009/12/05(土) 12:35:42
>>360
Version 1.6.1 にて出力されたぞ。

出力されないソースないしヘッダの例をうpしてくれれば確かめるけど?
0363360
垢版 |
2009/12/07(月) 16:44:48
>>362
ソースはマニュアル内のこのページ(ttp://www.doxygen.jp/docblocks.html)の
サンプルをそのまま使用
本体のバグでないならヘッダの問題かと思い、いろいろ試してみた結果、
INPUT_ENCODING=Shift_JISにした時に問題が起きた(CP932なら問題無し)
ちなみに、出力されないわけじゃなくて、通常の関数と同じセクションに
デストラクタが入ってる

デストラクタ名がチルダでなくオーバーバーで表示されてたので、
doxygenがデストラクタと認識してくれないのが原因か?
0364デフォルトの名無しさん
垢版 |
2009/12/07(月) 23:10:54
>>363
CP932
にしろってオフィシャルでどっかに書いてあったような気がする。
> デストラクタ名がチルダでなくオーバーバーで表示されてたので、
> doxygenがデストラクタと認識してくれないのが原因か?
その可能性が高そうだ。

0365デフォルトの名無しさん
垢版 |
2009/12/14(月) 10:46:24
このQtのマニュアルみたいなのを作りたいのですがdoxygenで作れますか。
http://www.kde.gr.jp/~ichi/qt-2.3.2/annotated.html


0366デフォルトの名無しさん
垢版 |
2009/12/14(月) 14:13:25
>>365
似たようなことはできると思いますが、一致度は保証できません。
TradeMarkとやらで作ったようなことが書かれているので、それでは如何ですか?
0367デフォルトの名無しさん
垢版 |
2009/12/17(木) 02:23:51
>>365-366
Qtのマニュアルは開発元内製の非公開のツールで作られているそうです。
doxygenが作られたのもそれが理由だそうで。
ttp://lists.trolltech.com/qt-interest/2007-07/thread00457-0.html
0369デフォルトの名無しさん
垢版 |
2009/12/24(木) 13:46:58
EXTRACT_PRIVATE = NO の設定で一部の private 関数を文書化する方法はあるでしょうか?
やりたいことは、ある基底クラスに private の仮想関数を定義して (派生クラスでその仮想関数
をオーバーライドするユーザーのために) その関数の仕様を Doxygen で出力することです。
0371デフォルトの名無しさん
垢版 |
2009/12/29(火) 09:09:16
ttp://uploader.rgr.jp/src/up1598.png
このように、ソース中の'が'と表示されてしまうんですが、
対策をご存じの方いらっしゃいますか?
また、他の方がたはこの問題が再現しますか?

サンプルソースは
 ttp://uproda.2ch-library.com/lib200801.zip.shtml
 DLキーはdoxygen
です。
ここのget_widechar.hをDoxygenにかけてhtmlを出力させると
上述の画像のようになります。
0372デフォルトの名無しさん
垢版 |
2009/12/29(火) 09:40:19
html4ではなくxml1の読めるブラウザを使えばいいんでない?
# 根本は解決していないけど。
例えば、IE6がこれに該当するからIE8を入れるとか。
どうしても根本的に解決したいなら、ソースを修正するとか出力を加工するとか。

つーか、手元のソースとDoxygenでは再現しないしzipをダウンロードするのは嫌なんだけど、
再現できる状態でここに貼れる程度に短くできない? それと、Doxygenのバージョンも宜しく。
0373デフォルトの名無しさん
垢版 |
2009/12/29(火) 12:07:45
>>372
確かにIE6で見ていたらだめでしたが、
Firefoxなら正しく表示されました。

ソースは
ttp://codepad.org/7giB9nil
で、Doxygenは1.6.1です。
設定は
DOXYFILE_ENCODING = CP932
OUTPUT_LANGUAGE = Japanese
このぐらいです。
0375デフォルトの名無しさん
垢版 |
2009/12/29(火) 16:06:24
>>374
意外に1.5.9って1.6.1より動作安定してたりしますよね。

ちなみに画像
ttp://uploader.rgr.jp/src/up1598.png
を出力したhtmlファイル(の一部)は
 ttp://codepad.org/OijY25xj
こんな感じで、この中にある
 '
となっている部分を単純に
 '
に置換してしまえば
IE6, Firefoxともに問題無く表示出来る様です。

・・・ってこんな対策でいいのでしょうか?
'を単純に'に置換してしまってまずい場合とかありますでしょうか?
0377デフォルトの名無しさん
垢版 |
2009/12/29(火) 17:23:37
>>376
俺のところのIE6ってそんな準拠性の悪いクソブラウザだったんですか。
噂には聞いていたんですがねぇ。

ありがとうございました。
0378デフォルトの名無しさん
垢版 |
2010/01/03(日) 02:55:32
Doxygen 1.6.2 age
0380379
垢版 |
2010/01/03(日) 23:52:47
仕様 変わりすぎだよチクショー!!!!!
0381デフォルトの名無しさん
垢版 |
2010/01/04(月) 00:08:12
doxygen.css
の仕様が変わりすぎでございますorz

バージョンが0.01違いなのに、こんなに変わるものだとは。

Doxygenって後方互換性という言葉には興味ないの?
0382>>379-381
垢版 |
2010/01/04(月) 21:42:35
俺以外に
Doxygen 1.6.2
を使ってる人 居ないの?
なんだか、
 1. C++0xが公式仕様策定されて
 2. ちゃんと各種コンパイラで実装されて
 3. 現実的にC++0xを使っても大丈夫だと思うくらいになって
 4. Doxygen がC++0xに対応完了
このくらいの条件を満たさないかぎり、別にアップデートしなくてもいい気がしてきた。
ブラウザとか中核ソフトとは違ってセキュリティもクソもない・・・しね?
0383デフォルトの名無しさん
垢版 |
2010/01/06(水) 14:43:02
>>382
まだ正月休み明けでみなさん忙しいのでは。
私も先ほどようやく試してみたところ。

ざっと見た感じだと、1.6.1 と比べると
>>322 で指摘されていた不具合とか、
friend関数のマニュアルを無視するバグが直ってたりして、
概ね好印象ですね。
0384>382
垢版 |
2010/01/06(水) 20:01:55
>>383
ありがとうございます。

そうですか。
>>324->>324は気付きませんでした。
じゃあやっぱ1.6.2で同じように作れるように自分でどうにか工夫するのが良い
って感じですかね。(私の主体性0)

0385>382
垢版 |
2010/01/06(水) 20:19:19
ちなみに
 Doxyfile 1.6.1 デフォルト
 ttp://codepad.org/olhvPmWM
 Doxyfile 1.6.2 デフォルト
 ttp://codepad.org/wA3SWMYO
0386デフォルトの名無しさん
垢版 |
2010/01/23(土) 09:24:51
1.6.2に更新したら、pageコマンドから作られたhtmlにタイトルが出力されなくなった…
似たような症状の人いる?
0387382
垢版 |
2010/01/23(土) 20:33:41
>>386
おお!
俺も!俺も!
どうすりゃいいんだろうorz
0389387
垢版 |
2010/01/29(金) 00:03:56
まじか!
>>388
ありがとうございます。
感謝です。。。
0390デフォルトの名無しさん
垢版 |
2010/01/29(金) 04:03:10
>>388
トンクス!表示されたぜ!

ML見てきたんだが、
>ドキュメントにアンダーバー不許可と明示されてはいないけど、
>名前は英文字と数字の組み合わせからなる、とは書かれていて、
>そこにアンダーバーは含まれていないでしょ。
みたいな返答だった。

でも以前は使えてたわけだし、@page以外のタグは問題ないし、
ドキュメントが更新された形跡もないし、やっぱなんかバグっぽいよね。
0391デフォルトの名無しさん
垢版 |
2010/01/29(金) 06:34:03
>>390
このまま待機で、いつの間にか
(次のverで)修正されるんじゃないかなぁ?

次のverっていつでるんだ。。。
0392デフォルトの名無しさん
垢版 |
2010/01/30(土) 15:04:22
>>391
Bugzilla 見たら、次のバージョンで修正されることになってました。
私も別のバグで次のバージョン待ちです…
0393デフォルトの名無しさん
垢版 |
2010/01/30(土) 15:52:25
Doxygen Release 1.6.2  (release date 30-12-2009)
Doxygen Release 1.6.1  (release date 25-08-2009)
Doxygen Release 1.6.0  (release date 20-08-2009)
Doxygen Release 1.5.9  (release date 30-04-2009)
Doxygen Release 1.5.8  (release date 27-12-2008)
Doxygen Release 1.5.7.1 (release date 5-10-2008)
Doxygen Release 1.5.7  (release date 28-9-2008)
Doxygen Release 1.5.6  (release date 18-5-2008)
Doxygen Release 1.5.5  (release date 10-2-2008)
Doxygen Release 1.5.4  (release date 27-10-2007)
Doxygen Release 1.5.3  (release date 27-7-2007)
Doxygen Release 1.5.2  (release date 4-4-2007)
Doxygen Release 1.5.1  (release date 29-10-2006)
Doxygen Release 1.5.0  (release date 16-10-2006)
Doxygen Release 1.4.7  (release date 11-06-2006)
0394>387 >393
垢版 |
2010/01/30(土) 15:57:14
ということで、次にリリースされるのは
4月終わりごろと推測されます。

うわぁ、待ってられないよ。

・・・
> Doxygen Release 1.6.1  (release date 25-08-2009)
> Doxygen Release 1.6.0  (release date 20-08-2009)
見たいに短い間隔のリリースもあるっちゃあるんだが、
すでにDoxygen Release 1.6.2リリースから1ヶ月たっても
新しい版がでていないしなぁ。
>>388氏の解決策に乗っかろうかなぁ。。。
0395394
垢版 |
2010/01/30(土) 23:27:05
<報告>
英数字どころか、小文字じゃないとダメみたいです。
AbCdE
とかはだめで、
abcde
ならOKのようです。
0396デフォルトの名無しさん
垢版 |
2010/02/06(土) 23:10:09
死亡回避age
0397デフォルトの名無しさん
垢版 |
2010/02/09(火) 21:40:07
Doxygen Release 1.6.2 + WinXPです。

ttp://codepad.org/UOnh6aUc
これを出力させると
ttp://uploader.rgr.jp/src/up1961.jpg
このように、inlineでもないのに勝手にinlineになります。
なお、
ttp://codepad.org/iT6VHAtw
のように、テンプレートでなければ勝手にinlineにはならないようです。
ttp://uploader.rgr.jp/src/up1962.jpg

同じ症状の方いらっしゃいますか?
0398397
垢版 |
2010/02/09(火) 21:40:49
あと、もし古いバージョンで試してくださる方がいらっしゃったら
是非結果を教えてください。
よろしくお願い申し上げます。
0399397
垢版 |
2010/02/11(木) 20:12:03
Graphviz - Graph Visualization Software
が最新版でました!version 2.26.3 になりました。

・・・そしてインストールしたらエラーになったので、
同じ症状で悩んでいる方がもしいらしたら参考にしてください。
解決策のリンク
ttp://old.nabble.com/Dot-problems-td15185555.html


************************************************************************
Oren Almog wrote:
I am using the windows version. Doxygen seems to work fine but I repeatedly
get errors when it calls dot to generate call graphs (or any other graphs).

c0f5d09662a9af0a3f709cb57d6841_cgraph.dot" -Tpng -o
"ex__cmds_8c_abc0f5d09662a9af0a3f709cb57d6841_cgraph.png"'
Problems running dot: exit code=-1, command='dot',

Dot is in my PATH. To be sure I tried to create the graph manually my going
to the directory and calling dot with the same parameters, I get a message
about a missing font and that file will look ugly but the png is generated
with no further input required from me.

Any ideas?
************************************************************************
biljana wrote:
You have to install Graphviz and set the DOT_PATH to the Graphviz/bin folder. Also you should set HAVE_DOT to YES.

0400デフォルトの名無しさん
垢版 |
2010/02/21(日) 22:45:41
Doxygen 1.6.3 age
0402397
垢版 |
2010/02/26(金) 06:35:09
>>397のバグですが、
Doxygen 1.6.3 で直っていないようです。

バグ報告しないと直らないんですかねぇ。
どこからバグ報告すればいいやら。
0403デフォルトの名無しさん
垢版 |
2010/02/27(土) 21:06:19
Doxygen 1.6.3 で
@pageで生成したページのタイトルが付かないバグ
は、解決しているようですね。
0404デフォルトの名無しさん
垢版 |
2010/03/08(月) 15:44:01
WinXP version1.6.3で、S-JISのファイルを変換したいのですが、設定ファイルを
INPUT_ENCODING = CP932
と設定した場合は、
Error: failed to translate characters from CP932 to UTF-8: check INPUT_ENCODING
とエラーがでます。

INPUT_ENCODING = SHIFT_JIS
とした場合は
Error: failed to translate characters from SHIFT_JIS to UTF-8: check INPUT_ENCODING
とエラーがでます。

DOXYFILE_ENCODING = SHIFT_JIS
として、
PROJECT_NAMEに日本語を設定したら反映されます。

何か他に設定する必要があるのでしょうか?
0405デフォルトの名無しさん
垢版 |
2010/03/09(火) 00:33:11
>>404
INPUT_ENCODING はソースファイルのエンコーディングの設定で、
DOXYFILE_ENCODING は設定ファイル自身のエンコーディングの設定です。

> WinXP version1.6.3で、S-JISのファイルを変換したいのですが、
のS-JISのファイルというのは設定ファイルじゃなくソースファイルのことですか?
だったら、 INPUT_ENCODING = CP932 で合ってるはずなんですが。

S-JISのつもりで実はUnicodeだったなんてことはないですか?

> DOXYFILE_ENCODING = SHIFT_JIS
> として、
> PROJECT_NAMEに日本語を設定したら反映されます。

設定ファイルはDoxywizardを使わないで、テキストエディタで書き換えてるんですか?
Doxywizardだと DOXYFILE_ENCODING は UTF-8 にしないと正しく動作しないはずなので。
0406デフォルトの名無しさん
垢版 |
2010/03/10(水) 16:41:23
>>405

ソースファイルを確認したところ、
新規に追加したものはSHIFT_JISだったのですが、
もともとあったソースは中国語のソースで、文字コードが"繁体字中国語"というもののようで、
このファイルを解析する時に、SHIFT_JISでないということで、エラーになるようです。

ありがとうございました。
0408デフォルトの名無しさん
垢版 |
2010/03/18(木) 09:48:49
こんなの作ってみた。良かったら使ってみて。

つ ttp://sourceforge.jp/projects/sfnet_doxygemplate/
  ttp://sourceforge.net/projects/doxygemplate/

今のところWindows専用だけど,Qtで作ってるのでLinuxでもビルドできるはず。
俺はWindowsオンリーなので,誰か手伝ってくれると助かるんだけど...
0409デフォルトの名無しさん
垢版 |
2010/03/18(木) 10:17:11
>>408
ほー。そういう着眼点か。

そのdoxygemplateなら、
WindowsビルドしかなくてもLinuxでもWineを使えば普通に動きそうだ。

0411408
垢版 |
2010/03/19(金) 07:27:50
>>409
レスサンクス。

> WindowsビルドしかなくてもLinuxでもWineを使えば普通に動きそうだ。

Linuxのことは知らないのでググってみtけど面白そう。
タスクトレイもちゃんと使えるの?


>>410
使い方を簡単に言うと、

・起動するとタスクトレイに常駐する。

・エディタで編集中のC/C++のソースの関数宣言(.hでの定義部でも.cや.cppの実装部
 でもOK)をクリップボードにコピーする。宣言の頭から、引数リストの閉じカッコまでが
 入ってればOK。それ以降は入っていても構わないが無視される。

・タスクトレイのアイコンを右クリックして「テンプレート編集」を選ぶと、編集画面が
 現れる。この段階で既に関数の引数やリターン値を解析して、retval コマンド
 とリターン値の型や、param コマンドと引数名が作成されている。
 この画面で param コマンドの[in]⇔[out]⇔[in,out]を切り替えたり、
 行の削除/追加や、details など幾つかのコマンドの追加が出来る。

・編集が終わったら「クリップボード保存」を押すと編集した内容が
 クリップボードにコピーされ、編集画面が閉じる。

・テキストエディタで関数宣言の上にクリップボードから作成されたテンプレートを
 ペーストする。

こんな感じ。
0412デフォルトの名無しさん
垢版 |
2010/03/19(金) 08:31:31
>>411
なるほど、面白そうじゃん。エディタのマクロと巧く連携できればそこそこシームレスに編集できそうだ。
0413409
垢版 |
2010/03/19(金) 12:18:28
>>411
> タスクトレイもちゃんと使えるの?
俺もそんなにデスクトップLinuxを使い込んでいる訳じゃ無いので、
ごめん、わかんないわ。

タスクトレイに相当するとこも使えそうな気がするけど、
もしダメでもまあLinuxユーザーならソースだけおいとけば
自分でビルドする人が多いだろうしいいんでね?
0414デフォルトの名無しさん
垢版 |
2010/03/25(木) 20:06:58
C言語、UTF-8、日本語コメントあり

doxygen 1.6.3
W32TeX (texinst2010.zip)
でpdf出力のためにLaTeXで出力させてみたんですが

epsの出力で

Generating caller graph for function XXXXXXXX
epstopdf ($Id: epstopdf.pl 17507 2010-03-19 22:52:56Z karl $) 2.15
!!! Error: Writing to gs failed, signal 127

ってなります回避する方法はあるのでしょうか?
0415397
垢版 |
2010/04/13(火) 07:00:23
>>397のバグですが、
Doxygen 1.6.3 で直っていないようでしたので報告しました。

Bug 612858 ? Doxygen takes a NON-INLINE template function for INLINE one mistakenly.
ttps://bugzilla.gnome.org/show_bug.cgi

直してくれるそうです。
やったー!!
0417デフォルトの名無しさん
垢版 |
2010/06/16(水) 03:07:30
Doxygen 1.7.0 age
0418デフォルトの名無しさん
垢版 |
2010/06/26(土) 01:54:40
Doxygen 1.7.1 age
0419デフォルトの名無しさん
垢版 |
2010/06/26(土) 08:13:54
>>408
面白いですね。
個人的にはタスクトレイに常駐するより、
Alt + tab で切り替えられる方が使いやすい気がしますが、
どうなんでしょう?
Linuxでどうするの?って問題も無くなると思いますし。

ちなみにemacsユーザーの人は
doxymacs使ってるよね?
0421408
垢版 |
2010/06/27(日) 20:21:31
>>419
レスありがとうございます。

> 個人的にはタスクトレイに常駐するより、
> Alt + tab で切り替えられる方が使いやすい気がしますが、
> どうなんでしょう?

なるほど,それはいいかも知れません。
Linuxは使わないので知らないんですが,Linuxでもアプリケーションの切り替え
はAlt + tabなんですか? 別にそうでなくても問題はないんですが。

実は最初はWIN32 APIを使って指定キー(Ctrl または Shift または Alt)の指定
回数連打でアクティブになるようにしてたんですが,これだとWindows専用に
なってしまうのでやめたんです。でもやはりキーボードで操作できた方が
いいですよね。

他の操作もキーボードでできるようにするなど,まだ改良点がありますし,
Alt + tabでアクティブになったときにクリップボードから関数の宣言部分を
取り出して処理するとなると,全体の構成も考え直さなければならないので,
少し時間が必要だと思いますが,やってみたいと思います。

ありがとうございました。
0422デフォルトの名無しさん
垢版 |
2010/06/28(月) 10:48:57
>>421
「こんなの」がどんなのか判らないから試してみる気にもなれないのだが。
せめて、どんなのか書いてくれ。
0425デフォルトの名無しさん
垢版 |
2010/07/01(木) 21:22:54
あんたこそダラダラ聞いてないで、とっとと使ってみりゃいーじゃん。
売り物じゃないんだから、>>423だってそうまで言われて使って欲しいとは思わんだろ。
0430デフォルトの名無しさん
垢版 |
2010/07/12(月) 12:00:37
俺は毎回新しいのにしてるよ。
これから先 更新されていくにあたり、
あんまり最新から離れていると
一気に対応しなきゃならなくなっちゃってめんどくさいから。
0431デフォルトの名無しさん
垢版 |
2010/07/13(火) 12:16:09
genのHPでバージョン使用アンケートとか実施するべきだよな
バージョンあげても劣化することが多いなら、良いベースから作った方がいい
イタチごっこになりかねん
0433デフォルトの名無しさん
垢版 |
2010/07/29(木) 01:31:04
pythonのソースってFilesに表れる? RHEL5に乗ってる
1.4.7を使ってるんだけど現れない。 クラスは現れるんだけど。

最新を野良ビルドしようと思ったけど依存関係は深いなあ。
0435デフォルトの名無しさん
垢版 |
2010/07/30(金) 04:15:28
>>434
ヒントサンクス。 なるほど、そうするとNamespaceの方に現れますね。 
defgroupとかは全然認識してくれないのにそれだけは効きます。

まあ、それでお茶を濁しますか。 
0436デフォルトの名無しさん
垢版 |
2010/08/18(水) 00:30:27
既存のソースをdoxy化しようとしてるんだけど、全てのヘッダーに長いライセンス事項が
書かれてるので、@fileなんかをそのヘッダ上に追加するとファイルの説明にそれが全て
追加されるのが鬱陶しい。 これを隠す方法は何があるでしょう? とりあえず、

/**
@file hoge.c

doxygen 用のコメント
*/

/*
既存のヘッダーはこっちに隔離
*/

ってしてるんですけど、もっといい方法があるなら知りたいです。
0438435
垢版 |
2010/08/19(木) 22:05:53
まっ、いいか。

しかしdoxygenいいねえ。 今のプロジェクトでドキュメントの無い、コメントの殆どない
ライブラリを使わなくてはならないのだが、ソースを読みながら解析して理解した事はどんどん
コメントに書き加えていき、doxygenを通すと立派なドキュメントが出来上がっていく。 

ライブラリ内の論理構造からいくつかのグループに分け、中心となるファイルのコメントの中で
@defgroupし、関連するファイルは@ingroupでそのグループにまとめる。 @defgroupした
コメントの中ではそのグループの中での主要なコンポーネントを解説。 解説の中で引用する
ファイル名とかクラス名(HogeClass::)、メンバー名等(HogeClass::hogeMemember)の参照は
全て自動的にリンクになるからそのままソースのナビゲーションが出来る。 

最後に@mainpageを作ってこれらのグループ間の関連をメモし、@refでそれぞれのグループに
リンクを張って出来上がり。

ソースを読んで自分なりにメモを作ったり、wikiにまとめたりとかは過去にしたけど、これは
ソースに完全に統合されているので資産として生きながらえると期待する。 


0439デフォルトの名無しさん
垢版 |
2010/08/21(土) 21:07:53
どっかにDoxygenで生成できる旨をコメントしておくことをお勧め。
でないと、Doxygenで生成されたhtmlを編集しようとする馬鹿が出てきかねない。
0441デフォルトの名無しさん
垢版 |
2010/09/10(金) 11:55:39
graphiz 2.26.3使ってグラフ出力してるんだけど、画像にパスが格納されちゃうんだ
誰かクラス名もしくはファイル名だけ出力出来る方法知らない?

doxyのバージョンによるのかな
0442デフォルトの名無しさん
垢版 |
2010/09/26(日) 23:29:16
#ifdefで囲った部分が無視されるんですが、こういう場合はどうしたらいいんでしょう?

#ifdef HOGE_VER
//! 特定の場合専用の関数
void Hoge();
#endif
0444442
垢版 |
2010/09/27(月) 03:24:37
ありがとうございます。PREDEFINEてところに書いたらできました。
0445デフォルトの名無しさん
垢版 |
2010/10/09(土) 22:35:39
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
とすれば

#ifndef DOXYGEN_SHOULD_SKIP_THIS

Doxygenに無視させたいコード

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

こんなふうに使えます。
0447デフォルトの名無しさん
垢版 |
2010/10/30(土) 16:40:01
Graphvizの話ってここでしてもいいすかね。
専用スレが見当たらないんだが
0450デフォルトの名無しさん
垢版 |
2010/11/01(月) 14:11:14
まったく絡まないので、あとでスレ立てするわ
昔はGraphvixのスレあったみたいだし、続きってことにする
0454デフォルトの名無しさん
垢版 |
2010/11/04(木) 11:09:33
Graphvizって言えば、同じrankにあるnodeの位置関係のヒントって与えられないかな。
doxygenからの出力でも、関数ツリーの上下がある程度同じになってくれると助かるんだけど。
例えば、
main->a->b
    ->c-^

    ->c-v
main->a->b
になったりしないように。
0455デフォルトの名無しさん
垢版 |
2010/11/05(金) 19:08:08
>>454
Graphviz(というかdotエンジン)単体なら、group属性を指定しておけばある程度は制御できる。
doxygenからは(事実上)無理。関数ツリーの上下が変わるのって下請け関数の影響が大きいから
レベルを指定して下請けまで展開しないようにするってのも手。まぁ、どうしてもってことなら自作するしかw
0456デフォルトの名無しさん
垢版 |
2010/11/19(金) 12:12:25
派生クラスで仮想関数を再定義した場合、派生クラスのメンバー一覧にこの関数が表示されますが、
これを非表示にするにはどうすればいいでしょうか?
数が多く基底クラスで表示してくれれば充分です。
0457デフォルトの名無しさん
垢版 |
2010/11/19(金) 12:26:29
・仮想関数がprivateならDoxyfileでprivateなメンバ関数は出力しない設定にする
・#ifndefで括って、Doxyfileでそのマクロを定義する
・他の出力したい関数にDoxygenコメントが必ずあるなら、Doxygenコメントのない関数は出力しない設定にする
0458デフォルトの名無しさん
垢版 |
2010/11/19(金) 13:44:48
3番目の方法で出来ました。ありがとうございました。
HIDE_UNDOC_MEMBERS = YES
ドキュメントづけは全部やるのでこれで大丈夫です。
0459デフォルトの名無しさん
垢版 |
2010/11/26(金) 20:32:20
doxygenで内部用と外部用のドキュメントの2種類を作りたいのですがどうのうな形にするのが
いいですか。
とりあえず全部ドキュメントを書いておいて外部用の場合は
非公式なクラス、関数を隠したいのですが、どうすればいいのやら。
0462459
垢版 |
2010/11/27(土) 12:19:20
>>461
@internal でいけました。
探していたのはこれです。有難うございました。
0467デフォルトの名無しさん
垢版 |
2011/01/15(土) 20:33:03
C++で多重継承していた場合、一番最後に指定したクラスのオーバーライド関数しか「〜を実装しています。」が出ないな。
例えば、

class BasicActor : public Actor, public IEventListener
{

だとActorの方の仮想関数をオーバーライドしても「〜を実装しています」が表示されない。
ActorとIEventListenerの順番を入れ替えると逆の方のクラスの関数の「〜を実装しています」が表示されない。
早く治るといいなあ。
0468デフォルトの名無しさん
垢版 |
2011/01/20(木) 21:42:56
doxygen凄く便利そうだな!だけどRTF出力がうまくいかね…。
一応>>138のバイナリとdoxywizard(1.7.3)で試してるんだが、

OUTPUT_LANGUAGE=Japanese
INPUT_ENCODING=CP932

以外に何か設定って必要なのか?
もし良かったらだれかDoxyfileをうpしてくれると凄く助かるわ…。
0470デフォルトの名無しさん
垢版 |
2011/01/21(金) 21:50:09
>>469
レスサンクス!
拾ってきたサンプルソースがCP932じゃなかったというどうしようもない原因でしたorz
スレ汚しスマソ
0472デフォルトの名無しさん
垢版 |
2011/05/14(土) 11:06:54.20
1.7.4の日本語のrtf出力やっぱりおかしい。
以下、対処メモ。
>102,>134を参考にソース修正・コンパイルして日本語rtf出力できたの確認。
doxygen-1.7.4/src/rtfgen.cppのencodeForOutputを修正
uint i;
uint mbFlag=0; // ←追加
for (i=0;i<enc.size();i++)
{
uchar c = (uchar)enc.at(i);
if (c>=0x80 || mbFlag==1) // ←修正
{
char esc[10];
sprintf(esc,"\\'%X",c);
mbFlag=1-mbFlag; // ←追加
t << esc;
}
else
{
t << (char)c;
}
}
0473デフォルトの名無しさん
垢版 |
2011/06/09(木) 18:58:40.57
@だとドキュメント付けできて、\だとできないのは何故ですか?
0475デフォルトの名無しさん
垢版 |
2011/06/10(金) 09:31:34.72
>>474
ところが、\paramだとだめで、@paramだとできるんすよ。
何か切り替えるようなオプションがあるのだろうか?
0481デフォルトの名無しさん
垢版 |
2011/09/15(木) 21:14:39.34
#define HOGE 123
msg.h の 20 行で定義されています
みたいな行番号表示をオフにするにはどうしたらいいの?
0483デフォルトの名無しさん
垢版 |
2012/02/16(木) 01:44:46.69
C++で、ソースを弄りたくない他所のライブラリの基底クラスのpublicなメソッドのリファレンスを
自作の派生クラス側のソースで書く事ってできないもんでしょうか。
0484デフォルトの名無しさん
垢版 |
2012/02/17(金) 00:52:56.77
>>483
宣言や定義の直前にしかその関数etcの説明を書けないと思っているなら一度doxygenの使い方をちゃんと勉強すると良い。
doxygenのタグのリファレンスを眺めるだけでも全然違うと思う。
0485483
垢版 |
2012/02/21(火) 23:05:35.96
@fn を書いているのに出力されないと思ったら、うっかり他のネームスペース内に書いていた為でした。
お騒がせしました。
0486デフォルトの名無しさん
垢版 |
2012/02/26(日) 01:02:49.50
Doxygen 1.8.0 age
0488デフォルトの名無しさん
垢版 |
2012/03/01(木) 14:57:23.15
こういう、箇条書きをインデントさせると
  /*!
      - 列挙したい場合はこのように先頭に -をつける
        - 更にインデントをつけたいときはこうする
          - 更にインデントをつけたいときはこうする
  */

 ・列挙したい場合はこのように先頭に -をつける
   ・更にインデントをつけたいときはこうする
     ・更にインデントをつけたいときはこうする

こうやってくれるんだけど


これを、このように、
ソースにそった形でインデントさせたいんだけど

  //! - 列挙したい場合はこのように先頭に -をつける
  if (a == 1) {
    //!   - 更にインデントをつけたいときはこうする
  }

これを普通にやると
 ・列挙したい場合はこのように先頭に -をつける
 ・更にインデントをつけたいときはこうする
こうなっちゃうんだよね

「単独行で、強制的に2つ以上のインデント」させる、いい方法ないかねぇ

というか、そもそも
doxygenは、こういうコメントを書くべきじゃないのかな?
0490デフォルトの名無しさん
垢版 |
2012/05/21(月) 11:48:57.46
Doxygen 1.8.1 age
0491デフォルトの名無しさん
垢版 |
2012/06/13(水) 13:00:33.35
http://www.doxygen.jp/manual.html にあるマニュアル、
一括ダウンロードできるようになってないのかな。
Webに繋がっていないときにこそ見たいときが多くて、歯噛みすることが多いんだけど。
# 取り敢えず、コマンドのページだけはダウンロードしておいたけど実例見られない……
0493デフォルトの名無しさん
垢版 |
2012/07/17(火) 13:19:18.40
C#で表示されるクラス名が全部
<パッケージ名>.<クラス名>
になってすごく見づらいんですが、これをクラス名だけにする方法を教えてください
何というオプションなのかそもそも名前がわかりません
0495デフォルトの名無しさん
垢版 |
2012/07/24(火) 20:50:05.56
クラスの階層じゃなくて、依存関係をグラヒカルに見たいんだけど
なにを設定すればいいんだっけか
0497デフォルトの名無しさん
垢版 |
2012/10/14(日) 16:05:32.12
気になるけどまだ使っていない。
便利なんだろうか?
0499デフォルトの名無しさん
垢版 |
2012/11/17(土) 02:10:59.92
Doxygen 1.8.2 age
0500デフォルトの名無しさん
垢版 |
2012/12/01(土) 05:59:46.03
doxygenで制作されたライブラリのレファレンスがあるんだけど、オフラインで見たいからダウンロードしたいんだが、なにか方法はないだろうか。
なんかサーバー側の調子が悪いのか、見たい時に中々見れない時とかあって困ってるんだ。

なんかメインページがphpだからなのか、普通のダウンロードツールじゃうまくいかないんだ。
0502デフォルトの名無しさん
垢版 |
2012/12/01(土) 07:16:56.55
doxygenで出力されるのは通常htmlで、phpじゃないよ。
そうでなくても、このスレで聞くのはスレ…いや、鼬害。
0503デフォルトの名無しさん
垢版 |
2012/12/01(土) 19:32:43.73
\relatesは関数にしか機能しないということですが、同じようにC++のクラスを他のクラスに関連付ける手段はないでしょうか?

//何かのTraitsクラステンプレート
template < typename T > xxxx_traits;

/*! クラスA
*/
class A { ... };

/*! xxxx_traitsのクラスAに対する特殊化バージョン
 \relates A ← 例えばこんな風に
*/
template <>
struct xxxx_traits< A > {.... };

クラスAのドキュメントからxxxx_traits< A >へのリンクを張りたいのですが。
0504503
垢版 |
2012/12/01(土) 19:51:28.94
書き忘れていました。
今は、クラスAのドキュメントから\saでリンクを張っています。
しかし、Related Functionsと同列にできないものか、と思ったのです。
後出しですいません。
0505デフォルトの名無しさん
垢版 |
2012/12/02(日) 00:27:49.22
プログラム関係で詳しい奴っている?
0506500
垢版 |
2012/12/05(水) 18:40:16.24
>>501 >>502
doxygenで構築されるのはhtmlなのか。
ソースコード向けホームページ作成ツールみたな認識でいいんかな。
ってことはdoxygenを仮にインストールしたとして、WEB上にあるdoxygenで出力したページはhtmlとかだからgitみたいにダウンロードするとかそういうのも無いんか

ちなみにURLはこれ
ttp://www.arongranberg.com/astar/docs/
0508デフォルトの名無しさん
垢版 |
2012/12/07(金) 11:28:30.72
TeXからps経由でpdfにするのは日本語の扱いで結局満足いく出力になったことがないんだよなぁ。
rtfからdoc経由でpdfにするのはMS-Office2010があれば日本語も大丈夫なようだけど。
0510デフォルトの名無しさん
垢版 |
2012/12/27(木) 01:20:09.22
Doxygen 1.8.3 age
0511デフォルトの名無しさん
垢版 |
2012/12/27(木) 13:15:24.02
New features 見てみた。External Indexing and Searching 面白そうだな。
ttp://www.stack.nl/~dimitri/doxygen/extsearch.html
0512デフォルトの名無しさん
垢版 |
2013/01/17(木) 19:51:25.05
RTFで出力したときに
1.先頭ページが「TITLE AUTHOR Version 1.0.0 CREATEDATE」となり内容が出力されない。
2.3ページ目が「目次 Tavle of contents」となり出力されない
3.最終ページが「索引 INDEX」となり出力されない
4.デストラクタ「~」で始まる名称が文字化けする
version は1.8.2 です。
DOXYFILE_ENCODING = UTF-8
INPUT_ENCODING = SJIS
としています。個別でも構いません解決方法ご存知の方はおられませんか。
0514デフォルトの名無しさん
垢版 |
2013/01/18(金) 09:23:11.01
>>513
早速やってみたら全てきれいに解決しました。
ありがとうございました。
0516デフォルトの名無しさん
垢版 |
2013/01/18(金) 18:28:31.06
>>515
「目次 Table of contents」のパンチミスでした。m(__)m
0517デフォルトの名無しさん
垢版 |
2013/01/22(火) 23:35:14.46
Doxygen 1.8.3.1 age
0518デフォルトの名無しさん
垢版 |
2013/04/05(金) 22:53:14.91
Doxygen 1.8.3.1 使ってます
rtfの出力なのですが

VisualStudio 2010でC#で使おうと思ってます

DOXYFILE_ENCODING = CP932
INPUT_ENCODING = UTF-8

として、出力したところ
refman.rtf
は何となくそれっぽい出力をされているのですが
おまけで作られる大量のrtfファイルが、UTF-8のままなのか文字化けしちゃいます


refman.rtfファイルに対して、ワード2007で
読み込んで全文選択した後フィールド更新
としても、おまけファイルが取り込まれた様子もないです(おまけファイルの図が取り込まれていない)

それと、目次が「TOCが間違っています」・・・
というエラーになってしまうページがあったりします

doxygenはあまりワード出力は向いてないのでしょうか
htmlは結構イメージしたものに近い出力だったのですが
0519デフォルトの名無しさん
垢版 |
2013/04/10(水) 15:03:15.14
>>518
ソースもcp932にしないと難しいかもね。
それと、word2010にしたら改善するかもしれない。
いずれにしても、日本語は相性悪いよ。
そうそう、JapaneseでダメならJapanese-enも試してみる価値あり。
0520デフォルトの名無しさん
垢版 |
2013/05/06(月) 14:48:10.14
1.8.3.1で、C言語でグローバル変数を使う時に、
(foo.h)
extern int a;
(foo.c)
int a;
って書くと出力にaが2個現れるのですが、仕様でしょうか
0521デフォルトの名無しさん
垢版 |
2013/05/06(月) 14:53:50.36
@addtogroupでcとhを同じグループに入れた時だけ>>520みたいな状態なので、とりあえずexternの部分だけグループから外します
0523デフォルトの名無しさん
垢版 |
2013/05/10(金) 23:59:33.52
doxygenを意識していないソースコードに
doxygen用のコメントのテンプレートみたいなのを書き込む機能ってありませんか?
例えば

class Hoge
{
...
};
などとあったら
/**
* @brief brief of Hoge
*
* detail of Hoge
*/
class Hoge
{
...
}:
のようなコメントを挿入するような
0525デフォルトの名無しさん
垢版 |
2013/05/13(月) 17:14:58.88
>>523
んなもん、Doxygenにあるわけないだろ。
LL言語で作るかエディタのマクロで作るかすればいいだろうが、それはスレ違い。
あぁ、JavaDocスタイルを有効にしておけば、もそっと簡単になるな。
0526デフォルトの名無しさん
垢版 |
2013/05/13(月) 20:40:48.28
でもそれこそdoygenにパーサがあるわけだから、doxygen内蔵でそういう機能があったらいいなとお思うのは
自然で低コストだべ?
0531デフォルトの名無しさん
垢版 |
2013/10/28(月) 16:59:29.04
細かいのはヘッダファイルに書く派? ソース本体に書く派?
0532デフォルトの名無しさん
垢版 |
2013/10/28(月) 18:54:07.23
本体と別々にdoxygenコメントを書くことはねーよ。doxygenのいいところが全く無駄になるだろ。
ヘッダファイルに書くのは前方宣言とマクロ定義くらいだから当然ソース本体にしかdoxygenコメントなんざ書かない。
0533デフォルトの名無しさん
垢版 |
2013/10/31(木) 15:00:35.36
@parのなかでPREタグ使いたいんだけどうまくいかない
AAとか書くときってみんなどうしてるの?
0542デフォルトの名無しさん
垢版 |
2013/12/17(火) 11:52:10.96
調べても分からなかったので、質問です。
同じ引き数の関数をまとめたいですが、どうすればいいでしょうか?
以下のようにしたいです。(doxygen 1.8.5使用)

関数
-----
bool add_apple(int* out, int in);
bool add_orange(int* out, int in);
bool add_lemon(int* out, int in);
-----
果物を追加する

引き数
 [out] out 出力
 [in] in 入力

戻り値
 成功 true
 失敗 flase
0544デフォルトの名無しさん
垢版 |
2013/12/17(火) 18:49:21.24
Doxygen使ってるプロジェクトのドキュメントとかを見てみたけど
複数の関数をまとめて表示してるのは全く見つからなかった…

\refはグループ化とかしないと行けないっぽいし若干敷居が高い…
とりあえずバラでドキュメント化しておくよ
どうもでした
0550デフォルトの名無しさん
垢版 |
2013/12/19(木) 13:52:30.20
もうちょっと分かり易く書くと

bool add_apple(Fruits* fruits, int add_num); // 成功 true 失敗 false
bool add_orange(Fruits* fruits, int add_num);
bool add_lemon(Fruits* fruits, int add_num);

C++なのに第一引き数にオブジェクトの指定が必要だけど、
別に変ではないよ
0554デフォルトの名無しさん
垢版 |
2013/12/19(木) 16:29:15.77
あ、でもFruitsの定義とbool add_apple()の定義を書くというなら、そのコードのどこがおかしいかは指摘できる
0557デフォルトの名無しさん
垢版 |
2013/12/19(木) 17:49:31.89
まあC++の天才と謳われた俺に書かせれば
bool add ( string fruits_type, Fruits* fruits, int_add_num )
かな。

かなりスマートな設計になっているのが分かると思う。
0560デフォルトの名無しさん
垢版 |
2013/12/19(木) 18:44:41.90
bool add_apple(Salud* salud, int add_num); // 成功 true 失敗 false
も定義しておけば、

Salud salud;
Fruits fruits; // Salud と継承関係はない

add_apple(salud, 10);
add_apple(fruits, 10);

と出来るメリットもあるので、一概にどれがいいとは言えない
状況による
0562デフォルトの名無しさん
垢版 |
2013/12/19(木) 19:10:25.11
まさかそんなあからさまなtypoに対して
「ところで、それ言語なんなの?」なんてドヤ顔でレスするのは想像の範囲外だわ
0564デフォルトの名無しさん
垢版 |
2013/12/20(金) 11:37:29.60
>>561
> これじゃね?
違うよ

> 「ところで、それ言語なんなの?」なんてドヤ顔でレスするのは想像の範囲外だわ
一見C++なんだが、俺の知らない言語の可能性もあるので聞いた

>>560
> 状況による
まあ確かにそうなんだが、俺の見立てではどんな状況でも糞

> Salud salud;
> Fruits fruits; // Salud と継承関係はない
>
> add_apple(salud, 10);
> add_apple(fruits, 10);
も糞だ
0565デフォルトの名無しさん
垢版 |
2013/12/20(金) 12:59:40.53
設計思想を語りないなら他に行ってくれ。
まぁ、相手にされないからこんなニッチなところで管巻いているんだろうけど。
0567デフォルトの名無しさん
垢版 |
2013/12/20(金) 13:30:26.58
まあ、どこの誰かもわからん俺みたいな奴に変だの糞だの言われても、
自分に絶対の自信があれば無視しとけばいいだけの話だよ
0568デフォルトの名無しさん
垢版 |
2013/12/20(金) 17:58:21.57
まあ、上のコードとか見ると
doxygen 使う以前にもっと読みやすいコードを書く練習しろよとは思う。
doxy られても読む気がしなそうだぜ。
0569デフォルトの名無しさん
垢版 |
2013/12/20(金) 19:08:41.10
まぁとりあえず、4回も5回もどうでもいい書き込みしなくても
どう糞なのかを1回書き込んでくれれば、それでいいんだよ
0571デフォルトの名無しさん
垢版 |
2013/12/24(火) 21:04:18.14
とりあえずVC++のMFCで書くとしたら、こうするかな。

// Fruit.h
class CFruit : public CObject {
public:
virtual CString GetName() const =0;
};
// Apple.h
#include "Fruit.h"
class CApple : public CFruit {
public:
virtual CString GetName() const { return(_T("Apple")); }
};
// Orange.h
#include "Fruit.h"
class COrange : public CFruit {
public:
virtual CString GetName() const { return(_T("Orange")); }
};
// Lemon.h
#include "Fruit.h"
class CLemon : public CFruit {
public:
virtual CString GetName() const { return(_T("Lemon")); }
};
// FruitBasket.h
#include "Fruit.h"
#include <afxtempl.h>
typedef CTypedPtrArray <CObArray,CFruit *> CFruitPtrArray;
class CFruitBasket : public CFruitPtrArray;
0572デフォルトの名無しさん
垢版 |
2013/12/24(火) 21:04:57.14
// 続き

int main()
{
CFruitBasket objBasket;
CFruitPtrArray arr;

objBasket.Add(new CApple);
objBasket.Add(new COrange);
objBasket.Add(new CLemon);
arr.Add(new CApple);
arr.Add(new COrange);
arr.Add(new CLemon);
objBasket.Append(arr);

for(int nIndex=0;nIndex<objBasket.GetSize();nIndex++)
{
cout << "\r\nobjBasket[" << nIndex << "]=";
cout << (LPCTSTR)objBasket.GetAt(nIndex)->GetName();
}
}
0573デフォルトの名無しさん
垢版 |
2013/12/25(水) 08:11:12.01
Doxygen 1.8.6 age
http://www.stack.nl/~dimitri/doxygen/manual/changelog.html#log_1_8_6
0574デフォルトの名無しさん
垢版 |
2014/06/05(木) 19:26:21.40ID:EUKZXZmz
C++11のfinalキーワードに対応してないからクラス名が変になる
多分overrideにも対応してない
0575デフォルトの名無しさん
垢版 |
2015/05/21(木) 18:22:09.52ID:qyP1wSea
Windows7でdoxywizardを使ってドキュメントを生成しているのですが、
出力されたログを見るとどうもすべての標準出力が先に出力され
その後に標準エラーがまとめて出力されているようです。

コマンドプロンプトから実行した時のように
標準出力でも標準エラーでもプログラムが出力した順に
出力されるようにしたいのですがどうすればよいでしょうか?
0577デフォルトの名無しさん
垢版 |
2015/06/15(月) 20:39:41.35ID:ZM3mWJtN
ある関数の概要って、どこに書けばいい?
関数の前に書くの?
0580デフォルトの名無しさん
垢版 |
2015/06/28(日) 09:58:03.15ID:n/fjwSaZ
ヘッダに書く派とソースに書く派の論争は
ドキュメントコメントが生まれたときから続いてるからな
0581デフォルトの名無しさん
垢版 |
2015/06/30(火) 14:43:18.51ID:X6br0/jB
Qtはソースに書いてあって、Doxygenはヘッダに書いてある。

ヘッダとソースだとソースの方が長くなるので、ヘッダに書く派の気持ちはわかる。
でも俺はソースに書いてる。
0582デフォルトの名無しさん
垢版 |
2015/06/30(火) 14:46:20.40ID:X6br0/jB
あと、ヘッダに実装も書く派が増えてきてるので、それはヘッダに書いたほうが良い理由になるかもしれない。
まあ別に、全然関係ないファイルに書いてもいいんだけど。
0583デフォルトの名無しさん
垢版 |
2015/06/30(火) 15:11:32.39ID:X6br0/jB
それでも俺がソースに書く理由は、ヘッダを索引に使ってるから。

本の目次に概要が一緒に書いてあったら50ページくらいに分量になって索引の役に立たないみたいな感じ。
今のエディタは、上に索引が付いてるし、クラスビューもあるから意味ないのかも。

でも、プルダウンリストって読みにくいんだよね。
0584デフォルトの名無しさん
垢版 |
2015/06/30(火) 19:27:21.11ID:TGfi4m1b
>>583
なるほど。 俺は昔からヘッダをマニュアルとして使っていたから
その流れでdoxygenを知って俺のためのツールだと歓喜したよ。

なので今でもヘッダに書く派なんだよね。
PHPとbゥやるときはいbツもむずむずすb驕B
0585デフォャ泣gの名無しさb
垢版 |
2015/12/10(木) 12:30:07.04ID:CbzZRqKx
非常にフォルダが細分化されていてとてもinputに手動で登録したくない数なんだけど自動で階層降りてって全部ソース拾ってくれる機能ないの?
0588デフォルトの名無しさん
垢版 |
2017/03/06(月) 12:02:40.45ID:u9ff24A5
C++で function_>.html というファイルを作ろうとしてエラーになる
回避策を教えておくれ

環境は Windows 版バイナリ 1.8.13
0590デフォルトの名無しさん
垢版 |
2017/03/06(月) 13:29:51.18ID:u9ff24A5
>>589
そう
Windowsでは使えない
多分 operator function 用のファイル名に
こういうファイル名を使おうとするんじゃ無いかと思う

SHORT_NAME を有効にすれば変わるかとも思ったんだけど
変化なかった
0594デフォルトの名無しさん
垢版 |
2017/07/07(金) 13:48:38.31ID:L0Nf4DeT
>>593
ありがとう


ついでに
構造体のビットフィールドを図にしたいんだけど
doxygenじゃやってくれない?
0595デフォルトの名無しさん
垢版 |
2017/07/21(金) 10:58:46.71ID:C+EZcupv
入出力に構造体やクラスがあるとき
「このメンバーを使います」 というのを明示したいんだけど
どうしたらいい?
0597デフォルトの名無しさん
垢版 |
2018/05/23(水) 21:02:28.55ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

GIUEM
0598デフォルトの名無しさん
垢版 |
2018/07/05(木) 00:52:22.57ID:RfoszcD2
WZ1
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況