clang -Xclang -cc1 -O3 mips.c -emit-llvm , clang error: -emit-llvm cannot be used when linking

clang -Xclang -cc1 -O3 mips.c -emit-llvm , clang error: -emit-llvm cannot be used when linking

我想使用 clang 前端将 mips.c 转换为 mips.ll,这是一个 llvm IR。

所以我使用命令:clang -cc1 O3 mips.c -emit-llvm。 发生致命错误:'stdio.h'(包含在 mips.c 中)找不到文件。

然后我将命令更改为:clang -Xclang -cc1 O3 mips.c -emit-llvm。 又出现错误:-emit-llvm cannot be used when linking

我该如何解决这个问题?

如错误消息中所写,您只能在发出 LLVM IR 时进行编译,而不是 link。

为位码添加 -c 或为可读形式添加 -S 到您的命令行:

clang -Xclang -cc1 -O3 mips.c -emit-llvm -S