【コメント】doxygen【コンソメ】

■ このスレッドは過去ログ倉庫に格納されています
2008/05/30(金) 19:50:27
無いので建てた

公式
http://www.doxygen.jp/
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

ってなります回避する方法はあるのでしょうか?
415397
垢版 |
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

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

ちなみにemacsユーザーの人は
doxymacs使ってるよね?
2010/06/26(土) 10:23:10
>>418
昨日1.7.0インストールしたばかり(ToT)
421408
垢版 |
2010/06/27(日) 20:21:31
>>419
レスありがとうございます。

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

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

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

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

ありがとうございました。
2010/06/28(月) 10:48:57
>>421
「こんなの」がどんなのか判らないから試してみる気にもなれないのだが。
せめて、どんなのか書いてくれ。
2010/06/28(月) 23:20:53
>>422
>>411に書いたんですが。あと>>408のリンク先のスクリーンショットを見て
いただくと雰囲気がわかるかも知れません。
2010/07/01(木) 09:36:08
だからさぁ、なんでだらだら説明することしかできないの?
2010/07/01(木) 21:22:54
あんたこそダラダラ聞いてないで、とっとと使ってみりゃいーじゃん。
売り物じゃないんだから、>>423だってそうまで言われて使って欲しいとは思わんだろ。
2010/07/01(木) 23:42:21
>>424
機能の全容をまあまあ簡潔に説明されてるのに、それすら読まずにわざわざ文句書くのは引くわ。
2010/07/03(土) 22:55:03
頭おかしいやつに関わるなよ。
2010/07/06(火) 09:51:30
一番エラーとかなく安定してるのって1.5.5?
2010/07/08(木) 11:44:52
>>428
もっと新しいのでもいいんでない? 私のところでは1.5.8で止まっているけど。
2010/07/12(月) 12:00:37
俺は毎回新しいのにしてるよ。
これから先 更新されていくにあたり、
あんまり最新から離れていると
一気に対応しなきゃならなくなっちゃってめんどくさいから。
2010/07/13(火) 12:16:09
genのHPでバージョン使用アンケートとか実施するべきだよな
バージョンあげても劣化することが多いなら、良いベースから作った方がいい
イタチごっこになりかねん
2010/07/25(日) 20:04:11
いつの間にかスタイルシートが新しくなってるじゃないか
2010/07/29(木) 01:31:04
pythonのソースってFilesに表れる? RHEL5に乗ってる
1.4.7を使ってるんだけど現れない。 クラスは現れるんだけど。

最新を野良ビルドしようと思ったけど依存関係は深いなあ。
2010/07/30(金) 00:32:06
>>433
公式の使用例だと、pythonの場合は@fileじゃなくて@package使ってるみたいだけど。
2010/07/30(金) 04:15:28
>>434
ヒントサンクス。 なるほど、そうするとNamespaceの方に現れますね。 
defgroupとかは全然認識してくれないのにそれだけは効きます。

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

/**
@file hoge.c

doxygen 用のコメント
*/

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

ってしてるんですけど、もっといい方法があるなら知りたいです。
2010/08/18(水) 00:33:49
>>436
そのやり方でいいんじゃないか?
438435
垢版 |
2010/08/19(木) 22:05:53
まっ、いいか。

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

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

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

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


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

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

#ifdef HOGE_VER
//! 特定の場合専用の関数
void Hoge();
#endif
2010/09/27(月) 00:57:34
DoxyfileでDEFINEできるから、そこでHOGE_VERをDEFINEすれば宜しいかと。
444442
垢版 |
2010/09/27(月) 03:24:37
ありがとうございます。PREDEFINEてところに書いたらできました。
2010/10/09(土) 22:35:39
PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS
とすれば

#ifndef DOXYGEN_SHOULD_SKIP_THIS

Doxygenに無視させたいコード

#endif /* DOXYGEN_SHOULD_SKIP_THIS */

こんなふうに使えます。
2010/10/12(火) 03:11:52
1.7.2 キタ
447デフォルトの名無しさん
垢版 |
2010/10/30(土) 16:40:01
Graphvizの話ってここでしてもいいすかね。
専用スレが見当たらないんだが
2010/10/30(土) 20:12:25
Doxygenで使う限りにおいてはOKじゃね?
2010/11/01(月) 12:16:48
>>447
doxygenに絡まないならこの辺で。
スレ立てるまでもない質問はここで 108匹目
http://hibari.2ch.net/test/read.cgi/tech/1287477677/

私も興味あるから是非。
2010/11/01(月) 14:11:14
まったく絡まないので、あとでスレ立てするわ
昔はGraphvixのスレあったみたいだし、続きってことにする
2010/11/04(木) 00:23:09
Graphvixについて答えられる有識者はいるんだろうか。
2010/11/04(木) 10:19:10
うむ。寡聞にしてGraphvixなるものは与り知らないな。
2010/11/04(木) 10:54:48
vixじゃなくてvizだよ!わざとだよ!ついだよ!
2010/11/04(木) 11:09:33
Graphvizって言えば、同じrankにあるnodeの位置関係のヒントって与えられないかな。
doxygenからの出力でも、関数ツリーの上下がある程度同じになってくれると助かるんだけど。
例えば、
main->a->b
    ->c-^

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

class BasicActor : public Actor, public IEventListener
{

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

OUTPUT_LANGUAGE=Japanese
INPUT_ENCODING=CP932

以外に何か設定って必要なのか?
もし良かったらだれかDoxyfileをうpしてくれると凄く助かるわ…。
2011/01/21(金) 00:23:16
>>468
OUTPUT_LANGUAGE=Japanese-en
2011/01/21(金) 21:50:09
>>469
レスサンクス!
拾ってきたサンプルソースがCP932じゃなかったというどうしようもない原因でしたorz
スレ汚しスマソ
2011/04/05(火) 10:52:41.34
1.7.4 が出たようですが....
試してみた人います?
472デフォルトの名無しさん
垢版 |
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;
}
}
473デフォルトの名無しさん
垢版 |
2011/06/09(木) 18:58:40.57
@だとドキュメント付けできて、\だとできないのは何故ですか?
2011/06/09(木) 23:04:27.97
>>473
言ってることがよく判らん。普通に@paramでも\paramでもできると思うが。
475デフォルトの名無しさん
垢版 |
2011/06/10(金) 09:31:34.72
>>474
ところが、\paramだとだめで、@paramだとできるんすよ。
何か切り替えるようなオプションがあるのだろうか?
2011/06/10(金) 14:41:51.21
そのダメなファイルと環境とリビジョンについて詳しく。
2011/06/16(木) 12:06:46.19
\\にすればおk
2011/06/16(木) 21:55:08.60
んな馬鹿な
2011/06/17(金) 15:09:51.06
馬鹿っていうほうが馬鹿
2011/08/26(金) 14:21:37.30
復帰
481デフォルトの名無しさん
垢版 |
2011/09/15(木) 21:14:39.34
#define HOGE 123
msg.h の 20 行で定義されています
みたいな行番号表示をオフにするにはどうしたらいいの?
2011/10/27(木) 08:42:23.16
1.7.5.1 は日本語 rtf 出力の文字化けが直ったみたいだ。
2012/02/16(木) 01:44:46.69
C++で、ソースを弄りたくない他所のライブラリの基底クラスのpublicなメソッドのリファレンスを
自作の派生クラス側のソースで書く事ってできないもんでしょうか。
2012/02/17(金) 00:52:56.77
>>483
宣言や定義の直前にしかその関数etcの説明を書けないと思っているなら一度doxygenの使い方をちゃんと勉強すると良い。
doxygenのタグのリファレンスを眺めるだけでも全然違うと思う。
485483
垢版 |
2012/02/21(火) 23:05:35.96
@fn を書いているのに出力されないと思ったら、うっかり他のネームスペース内に書いていた為でした。
お騒がせしました。
486デフォルトの名無しさん
垢版 |
2012/02/26(日) 01:02:49.50
Doxygen 1.8.0 age
2012/02/26(日) 01:16:48.60
x64バイナリも出たんだな
2012/03/01(木) 14:57:23.15
こういう、箇条書きをインデントさせると
  /*!
      - 列挙したい場合はこのように先頭に -をつける
        - 更にインデントをつけたいときはこうする
          - 更にインデントをつけたいときはこうする
  */

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

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


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

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

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

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

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

なんかメインページがphpだからなのか、普通のダウンロードツールじゃうまくいかないんだ。
2012/12/01(土) 06:02:58.31
じっさいに見てみないことには何とも言えん
URIはよ
2012/12/01(土) 07:16:56.55
doxygenで出力されるのは通常htmlで、phpじゃないよ。
そうでなくても、このスレで聞くのはスレ…いや、鼬害。
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 >へのリンクを張りたいのですが。
504503
垢版 |
2012/12/01(土) 19:51:28.94
書き忘れていました。
今は、クラスAのドキュメントから\saでリンクを張っています。
しかし、Related Functionsと同列にできないものか、と思ったのです。
後出しですいません。
505デフォルトの名無しさん
垢版 |
2012/12/02(日) 00:27:49.22
プログラム関係で詳しい奴っている?
506500
垢版 |
2012/12/05(水) 18:40:16.24
>>501 >>502
doxygenで構築されるのはhtmlなのか。
ソースコード向けホームページ作成ツールみたな認識でいいんかな。
ってことはdoxygenを仮にインストールしたとして、WEB上にあるdoxygenで出力したページはhtmlとかだからgitみたいにダウンロードするとかそういうのも無いんか

ちなみにURLはこれ
ttp://www.arongranberg.com/astar/docs/
2012/12/07(金) 01:22:50.83
>>506
使った事はないけどpdfへの出力もサポートしてるよ。

Output Formats
http://www.stack.nl/~dimitri/doxygen/output.html
2012/12/07(金) 11:28:30.72
TeXからps経由でpdfにするのは日本語の扱いで結局満足いく出力になったことがないんだよなぁ。
rtfからdoc経由でpdfにするのはMS-Office2010があれば日本語も大丈夫なようだけど。
2012/12/11(火) 13:15:43.39
>>506
wget --mirrorとか。
510デフォルトの名無しさん
垢版 |
2012/12/27(木) 01:20:09.22
Doxygen 1.8.3 age
2012/12/27(木) 13:15:24.02
New features 見てみた。External Indexing and Searching 面白そうだな。
ttp://www.stack.nl/~dimitri/doxygen/extsearch.html
512デフォルトの名無しさん
垢版 |
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
としています。個別でも構いません解決方法ご存知の方はおられませんか。
2013/01/18(金) 09:11:06.86
>>512
INPUT_ENCODING=CP932
の方がいいと思います。
後は、MS WORD で読み込んで全文選択した後フィールド更新
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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