使用cmake编译cppfile时如何获取位码?

时间:2020-05-17 03:25:23

标签: cmake clang llvm llvm-clang

我搜索了可以使用命令行尝试的教程:clang -emit-llvm -o file.bc,但如何在cmakelists中编写它。我必须从源代码文件中获取所有位代码文件。

1 个答案:

答案 0 :(得分:0)

可能的几种选择:

  • 您可以向所有来源添加特定标志: set ( CMAKE_C_FLAGS "-emit-llvm")
  • 或者,如果仍然想同时拥有.bc文件和.o文件,则可能应该引入自定义编译命令,实际上这是两个命令:第一个编译.bc文件,第二个仅编译.o文件。或通过llc将.bc文件转换为.o文件。
  • 如果使用-flto标志进行编译,则所有.o文件实际上都是.bc文件(例如,您可以使用llvm-bcanalyzer对其进行检查)。但是在这种情况下,您必须将其链接到ld.lld