0

erlang アプリケーションでダイアライザーを使用しようとしていますが、出力は次のとおりです。

dialyzer \
        --src -r src \
        -pa /home/niahoo/src/popos \
        -pa /home/niahoo/src/popos/deps/parse_trans \
        --verbose
  Checking whether the PLT c:/MinGW/msys/1.0/home/niahoo/.dialyzer_plt is up-to-date... yes
  Proceeding with analysis...
dialyzer: Analysis failed with error:
Could not scan the following file(s): [{"c:/MinGW/msys/1.0/home/niahoo/src/popos/src/tools/r.erl",
                                        ["c:/MinGW/msys/1.0/home/niahoo/src/popos/src/tools/r.erl:none: undefined parse transform 'exprecs'\n"]},
                                       {"c:/MinGW/msys/1.0/home/niahoo/src/popos/src/game/party2.erl",
                                        ["c:/MinGW/msys/1.0/home/niahoo/src/popos/src/game/party2.erl:none: undefined parse transform 'playerdupli'\n"]}]
Last messages in the log cache:
  Reading files and computing callgraph... 

playerdupli.erlと同じディレクトリに入れてみましparty2.erlたが、出力は同じです。exprecs.erldeps: にありdeps/parse_trans/srcます。

parse_transform を含め、コードはエラーなしでコンパイルおよび実行されます。私はMinGW(Windows 8 64)を使用しています。何か案が ?

ありがとう

4

2 に答える 2

2

常に簡単な代替手段は、コンパイルし+debug_infoて、dialyzer に結果の.beamファイルを分析させることです。

于 2014-04-10T07:46:54.070 に答える
1

だから、私はドキュメントで何かを逃したはずです。動作するコマンドがあります:

dialyzer \
    --src -r src \
    -pa /home/niahoo/src/popos \
    -pa ebin \
    -pa deps/parse_trans/ebin \
    --raw \
    --statistics \

-pa /home/niahoo/src/poposdilayzer が含まれている .hrl を検索 -pa ebinできるように include_lib で使用すると、parse_transform モジュール (playerdupli) idem を検索できます -pa deps/parse_trans/ebin。エクスプレス付き

于 2013-05-23T20:58:08.450 に答える