我已经搜索了可以使用命令行尝试的教程:clang -emit-llvm -o file.bc
但是如何在cmakelist中编写它。我必须从源代码文件中获取所有位码文件。
有几个选项:
- 您可以为所有源添加特定标志:
set ( CMAKE_C_FLAGS "-emit-llvm")
- 或者,如果您仍然希望同时拥有 .bc 文件和 .o 文件,您可能应该引入自定义编译命令,它实际上是两个命令:第一个编译 .bc 文件,其次只是编译 .o 文件或通过
llc
将 .bc 文件转换为 .o 文件。 - 如果使用 -flto 标志进行编译,则所有 .o 文件实际上都是 .bc 文件(例如,您可以使用 llvm-bcanalyzer 进行检查(。但是在这种情况下,您必须将其与
ld.lld
链接