Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我正在尝试使用doxygen生成一些我编写的matlab类的文档。我正在使用doxygen-matlab软件包,其中包括一个perl脚本,用于将matlab .m文件融合为c ++样式的注释文件,以便doxygen可以读取它们。
在我的doxyfile中,我已经设置(根据说明) FILTER_PATTERNS = *m=C:/doxygenMatlab/m2cpp.pl 但是,当代码运行时,而不是在输入文件上运行脚本时,似乎只是使用.pl的默认Windows设置打开脚本。 IE,如果我将.pl与记事本关联,则doxygen试图解析的每个输入文件都会由记事本打开一次脚本。如果我将.pl与perl.exe关联,脚本将运行并抛出no参数错误 参数必须在C:\ doxygenMatlab \ m2cpp.pl第4行中包含文件名-1。Doxygen文档说 Doxygen will invoke the filter program by executing (via popen()) the command 所以我想知道popen()和Windows是否可以解决一些问题。 回答: 我尝试使用Windows命令提示符(“ cmd”)重现该错误,并注意到以下内容:
因此,我现在使用INPUT_FILTER =“ C:\ Programme \ MATLAB \ R2009a \ sys \ perl \ win32 \ bin \ perl U:\ doxygen_matlab \ m2cpp.pl”和一个空的FILTER_PATTERNS变量。使用此配置,您甚至可以将PERL_PATH变量保留为空。此外,包含空格的文件名似乎没有问题。 不幸的是,所有文件都使用上述配置进行了解析,而不仅仅是m文件。但是,将FILTER_PATTERNS设置为* .m = C:\ Programme \ MATLAB \ R2009a \ sys \ perl \ win32 \ bin \ perl U:\ doxygen_matlab \ m2cpp.pl无效,因为doxygen自动添加了过滤后的mfile的名称。并将命令解释为perl“ m2cpp.pl mfile”。当然,文件“ m2cpp.pl mfile”不存在,因为这是两个文件。 也许您可以找到解决此问题的方法。同时,我建议您采用上述解决方法,并将C文件远离包含m文件的文件夹。 更多&回答... |
![]() |
![]() |