用cmake编译cppfile时,如何获得位码?

问题描述 投票:0回答:1

我找了一下教程,说可以用命令行试试。clang -emit-llvm -o file.bc 但如何将其写入cmakelists中。我必须从源代码文件中获取所有的比特码文件。

cmake clang llvm llvm-clang cmakelists-options
1个回答
0
投票

有几种可能的选择。

  • 你可以在你所有的源代码中添加特定的标志:set ( CMAKE_C_FLAGS "-emit-llvm")
  • 或者如果你仍然想同时得到.bc文件和.o文件,你也许应该引入自定义编译命令,它实际上是两个命令:第一个编译.bc文件,第二个要么只编译.o文件,要么通过以下方法把.bc文件转换成.o文件 llc.
  • 如果你用-flto标志编译,那么所有的.o文件实际上都是.bc文件(你可以用llvm-bcanalyzer检查)。但在这种情况下,你必须用 ld.lld
© www.soinside.com 2019 - 2024. All rights reserved.