我添加了function chooseStrapColour() {
var black = "images/straps/oxford-black.png"
var white = "images/straps/oxford-white.png"
var colourRange = document.getElementById("strapOptions").value;
var src = (colourRange === "white") ? white : black;
document.getElementById("oxStrap").src = src;
}
条评论,为目录提供了附加文档。但我无法使用我所知道的任何doxygen链接技术链接到该目录文档。我的问题是:如何正确链接到目录的文档?
以下是我尝试过的内容片段。我收到两个警告,没有生成链接。 doxygen手册的自动链接部分讨论Links to other members,但没有提到dirs的链接。是否支持链接到目录文档?如果是这样,我做错了什么或这是一个错误? (我现在正在使用1.8.10.1.8.9.1表现相同。)
这是我尝试过的。我已经使用
记录了目录\dir
我使用
引用目录/// \dir cpp/vtutil
///
/// \brief Brief description of the dir cpp/vtutil goes here
///
/// \details A more detailed description goes here.
///
以下是警告:
/// \file
/// \brief Implements the vt application class.
///
/// This file is in the \ref cpp/vtutil directory.
/// What about #cpp/vtutil
文档用于目录,但似乎没有办法引用它。我衷心感谢任何帮助。
答案 0 :(得分:2)
链接到目录文档页面的正确方法是使用\ref
命令。目录不支持使用#
的显式链接。
/// \file
/// \brief Implements the vt application class.
///
/// This file is in the \ref cpp/vtutil directory.
此示例将生成指向cpp/vtutil
文件夹文档的链接。但是,在使用绝对路径和使用STRIP_FROM_PATH
的doxygen配置设置时,需要注意。当我使用源代码树中的工作目录运行doxygen时,我可以获得正确的链接引用。但是,当我从一个与我的源目录不同的构建目录运行,并且需要使用STRIP_FROM_PATH
时,我就遇到了问题。
使用\dir
命令记录目录时,Doxygen对于使用的路径非常宽容或灵活,但在使用\ref
命令引用它时,它非常挑剔。
答案 1 :(得分:1)
这就是我解决此问题的方式,我将其视为Doxygen中的错误。
接受的解决方案对我不起作用。我发现链接到目录的唯一方法是使用绝对路径名:
/// \brief Documentation linking to a directory
///
/// The files are in the \ref /home/user/project/include/subdir "include/subdir" directory.
通过使用\ref target "label"
,我们避免了文档中的完整路径,该路径当然是由开发环境提供的,并且与最终用户的安装目录无关。
但是我们现在仍然在源代码中拥有绝对路径。不同的开发人员可能会使用不同的路径,因此上述解决方案只能由单个开发人员使用。
相反,我在Doxyfile.in
文件中添加了以下别名:
ALIASES += "link_to_subdir=\ref @PROJECT_SOURCE_DIR@/include/subdir \"include/subdir\""
文档现在看起来像这样:
/// \brief Documentation linking to a directory
///
/// The files are in the \link_to_subdir directory.
Doxyfile.in
是CMake解析的文件,用于生成Doxygen使用的Doxyfile
。我认为这是使用Doxygen的相当标准的方式(其他构建生成器具有相同的功能,可以代替使用)。例如,我的Doxyfile.in
包含以下内容:
PROJECT_NAME = "@PROJECT_NAME@"
PROJECT_NUMBER = @PROJECT_VERSION@
OUTPUT_DIRECTORY = @CMAKE_INSTALL_PREFIX@/@DOCUMENTATION_OUTPUT@
INPUT = @PROJECT_SOURCE_DIR@/include
在CMake中有一个命令:
configure_file("${CMAKE_CURRENT_LIST_DIR}/documentation/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @ONLY)
因此,CMake将在项目的根目录中填写@PROJECT_SOURCE_DIR@
,该目录将导致Doxygen解析的文档中的绝对路径,但该路径取决于当前的开发环境。