我正在使用 Sphinx 2.2.2 调试 Sphinx 文档,其中包含一个包含许多交叉引用的大型新源文件。我收到以下消息:
Warning, treated as error:
C:\Users\...\<filename>.rst::Anonymous hyperlink mismatch: 15 references but 0 targets.
See "backrefs" attribute for IDs.
ERROR: Error while building Main - External manual !
我大概知道这意味着什么:15 个匿名交叉引用指向未定义的目标(或者可能全部指向一个未定义的目标)。但我如何找到它们?
它说我应该查看“ID”的“backrefs”属性,这大概可以帮助我找到问题引用。但我不知道“backrefs”属性是什么,或者它是哪个属性,或者如何访问它,或者“ID”是什么以及找到它们后该如何处理它们。
我在网上搜索了有关“backrefs”的参考资料,但没有找到任何相关且易懂的内容。有人能帮忙吗?
答案1
我遇到了同样的问题,似乎我的匿名超链接格式不正确(在您的情况下,15 个格式不正确)。
再检查一遍:
`foo<http://foo.bar/>`__
: 错误的`foo http://foo.bar/>`__
: 错误的`foo <http://foo.bar/>`__
: 正确的
希望能帮助到你