Sublime Text 2对LaTeX使用了错误的编译器

时间:2014-01-02 15:35:54

标签: macos latex sublimetext2 clang pdflatex

每当我想用Sublime Text 2(OS X上的build 2221)编译LateX文件时,我得到一个这样的输出:

ld: warning: ignoring file /Users/magnus/Documents/test.tex, file was built for unsupported file format ( 0x5C 0x64 0x6F 0x63 0x75 0x6D 0x65 0x6E 0x74 0x63 0x6C 0x61 0x73 0x73 0x7B 0x61 ) which is not the architecture being linked (x86_64): /Users/magnus/Documents/test.tex
Undefined symbols for architecture x86_64:
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[Finished in 0.0s with exit code 1]

显然,ST2尝试使用clang编译.tex文件。我检查了所有sublime-build文件和首选项(至少我知道的那些),但找不到配置错误。如果需要,请让我添加配置文件。 当我在终端中编译文档(使用pdflatex blah.tex)时,它可以工作,因此它不应该是我系统的故障。

有人知道如何解决这个问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

Sublime Text构建系统中有选择器来确定要构建的文件类型。例如,Python.sublime-build文件中的行是

"selector": "source.python"

以便Tools -> Build Systems设置为Automatic时,只构建具有Python语法集的文件。但是,如果您专门选择某个构建系统,它将用于构建所有文件,而不管任何选择器语句。

您的案例中发生的事情可能是您的Build System设置为C / C ++,它在您的LaTeX文件上调用了clang。将构建系统设置回自动,或者专门选择LaTeX构建系统,您应该全部设置。