Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 在VS2008中将doxygen作为自定义生成步骤运行_Visual Studio 2008_Doxygen_Custom Build Step - Fatal编程技术网

Visual studio 2008 在VS2008中将doxygen作为自定义生成步骤运行

Visual studio 2008 在VS2008中将doxygen作为自定义生成步骤运行,visual-studio-2008,doxygen,custom-build-step,Visual Studio 2008,Doxygen,Custom Build Step,我正在为每个构建的(相当小的)项目生成doxygen文档。 为此,我做了以下工作: 将doxygen生成的index.html添加到项目中 为此文件(不是整个项目)指定了自定义生成步骤 命令行:doxygen../doc/Doxyfile 输出:.doc/html/index.html 其他依赖项:“../bin/foo.exe” 问题是,我需要构建两次,直到VS停止告诉我我的项目已过时。 如何修复此问题?在确定是否生成任何内容时,Visual Studio会查看输出文件是否比输入文件旧 您

我正在为每个构建的(相当小的)项目生成doxygen文档。 为此,我做了以下工作:

  • 将doxygen生成的
    index.html
    添加到项目中
  • 为此文件(不是整个项目)指定了自定义生成步骤
    • 命令行:
      doxygen../doc/Doxyfile
    • 输出:
      .doc/html/index.html
    • 其他依赖项:“../bin/foo.exe”
  • 问题是,我需要构建两次,直到VS停止告诉我我的项目已过时。

    如何修复此问题?

    在确定是否生成任何内容时,Visual Studio会查看输出文件是否比输入文件旧

    您将index.html添加为输入文件,而实际上它是一个输出文件。添加Doxyfile也不会起作用,因为它不会经常更改。这就是重建项目有效的原因(因为它忽略了文件的年代,并且仍然进行构建)


    它是你想捕捉的C++文件的变化。如果(正如我所怀疑的)doxygen仍然进行增量构建,那么最好是简单地将doxygen步骤添加为构建后事件。

    我遇到了与VS2008调用自动生成C代码的Perl脚本完全相同的问题。我的印象(可能是错误的)是,尽管执行了这一步骤,它还是编译了内存中的代码版本,而不是磁盘上的版本,然后注意到内存中的版本已经过时。希望有人知道如何修复它!您已将生成的文件添加为源文件。你需要反过来做。谢谢你的回答,罗杰,但恐怕我不知道你的意思。
    我现在从项目中删除了
    index.html
    ,添加了
    Doxyfile
    (这实际上更有意义!),并将自定义构建步骤设置应用于该文件。结果是doxygen根本不会被调用…#更新##我刚刚注意到,在重建解决方案时,
    doxygen
    实际上会被调用。虽然这并不完全是我想要的,但它可能会奏效。