Pdf 由于输入编码错误,doxygen latex make失败
我在eclipse中有一个git repo项目,我一直在使用doxygen(v1.8.4)记录该项目。 如果我运行latex,使其成为项目的一个新克隆,那么它运行良好,并且生成了PDF。 但是,如果我随后运行doxy构建(完成OK),然后尝试运行latex make,它将失败Pdf 由于输入编码错误,doxygen latex make失败,pdf,latex,doxygen,miktex,Pdf,Latex,Doxygen,Miktex,我在eclipse中有一个git repo项目,我一直在使用doxygen(v1.8.4)记录该项目。 如果我运行latex,使其成为项目的一个新克隆,那么它运行良好,并且生成了PDF。 但是,如果我随后运行doxy构建(完成OK),然后尝试运行latex make,它将失败 ! Package inputenc Error: Keyboard character used is undefined (inputenc) in inputencoding `utf
! Package inputenc Error: Keyboard character used is undefined
(inputenc) in inputencoding `utf8'.
See the inputenc package documentation for explanation.
Type H <return> for immediate help.
...
!软件包输入错误:使用的键盘字符未定义
(inpuntec)在inpuntencoding'utf8'中。
有关说明,请参阅InpuNec软件包文档。
键入H以获得即时帮助。
...
我已尝试通过将doxyfile\u encoding
设置为ISO-8859-1
来切换doxyfile的编码,但结果没有变化。。。我怎样才能解决这个问题??谢谢
编辑:据我所知,我在我的文件中没有使用非UTF-8字符,错误之前引用的文件非常短,其中肯定没有非UTF-8字符。我甚至尝试过清理我的latex输出目录并从头开始构建,但没有运气
编辑:我已确认doxy版本似乎只正确运行。它不会显示任何错误,但它应该,例如,运行DOT并构建大约10个图形。控制台输出显示正在运行的点,但它并没有像实际生成图形时那样生成图形(n/x)…简短回答:通过一个缓慢的消除过程,我发现这是由文件中的一个撇号造成的,该文件似乎已经生成并且没有错误
详细回答:首先,我使用项目属性将编码从默认的Cp1252翻转到UTF-8。然后我开始一个接一个地删除文件,直到每次删除后重建和重新制作,直到make成功运行。我重新添加了所有文件,但删除了最近删除的文件中的内容,并测试了make-以确认是这个文件,并且只有这个文件导致了问题。制作过程顺利。因此,我将内容粘贴回空文件,并开始删除文件中越来越小的部分,每次都再次重建和重新制作,直到我留下了一个没有撇号的好版本和一个带有撇号的坏版本。。。我只是简单地重新输入了撇号(因为这将迫使它成为UTF-8字符)并成功!!真讨厌 老兄,你真是太难了。为什么不使用python为您完成这项工作:
f = open(fn,"rb")
data = f.read()
f.close()
for i in range(len(data)):
ch = data[i]
if(ch > 0x7F): # non ASCII character
print("char: %c, idx: %d, file: %s"%(ch,i,fn))
str2 = str(data[i-30:i+30])#.decode("utf-8")
print("txt: %s" % (str2))
是否有任何理由使用doxygen 1.8.4?你试过1.8.6吗?当没有创建新图形或图形没有更改时,Doxygen不会运行dot。@albert,1.8.4是我最后一次更新时,正试图将工具更新保持在项目中期的最低限度。您认为这个问题可以通过1.8.6的更改来解决吗?对于我们这些不懂python的人,有没有关于这些代码行的功能的信息?