this solution之后,我在#include "...frontend/tokens.mll"中使用lexer.mll,然后使用cpp -P frontend/lexer.mll -o frontend/gen/lexer.mll生成完整的mll文件。此解决方案以前曾在Ubuntu下使用。

现在,我尝试在Mac OS 10.11.1中执行此操作,它给出了一个错误clang: error: no input files
gcc -v返回

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

我看不到在哪里使用XCode或PCH文件。有谁知道我应该如何配置环境以使cpp工作?

编辑1:
cpp --version返回
Apple LLVM version 7.3.0 (clang-703.0.29)
Target: x86_64-apple-darwin15.0.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

还有一个来自注释的示例:

c++ - 在OS X中为“Clang: error: no input files”-LMLPHP

最佳答案

因此,如果我正确理解了您要执行的操作,则希望对文件运行c预处理程序以生成文本输出,该文本输出将存储在另一个文件中。我不知道为什么,但是,这是一个将完成此操作的命令:

clang -x c frontend/lexer.mll -E -P -o frontend/gen/lexer.mll

这会调用clang;将语言设置为C(-x c);提供您的文件;仅要求预处理,不要求编译或链接(-E);输出中没有行信息(-P),将其存储在frontend / gen / lexer.mll中

Xcode是运行clang的IDE。如果您使用的是ocaml,则使用Xcode可能无济于事,因为它不知道如何处理ocaml文件。

关于c++ - 在OS X中为“Clang: error: no input files”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36482291/

10-09 01:08