如何使用clang ++为llvm(lli)构建多文件c ++项目?

ASt*_*ten 2 makefile llvm clang

我有一个多文件c ++项目,在Makefile的帮助下构建.CCCXX分别gccg++比较.现在我需要在llvm(lli)下尝试这个项目.我已经更换了

CC = gcc
CXX = g++
LD = ld
Run Code Online (Sandbox Code Playgroud)

CC = clang
CXX = clang++
LD = clang++
Run Code Online (Sandbox Code Playgroud)

并添加-emit-llvm到cflags:

CFLAGS_DEBUG =  $(CFLAGS) -g -emit-llvm
...
CFLAGS_RELEASE =  $(CFLAGS) -O2 -emit-llvm
Run Code Online (Sandbox Code Playgroud)

然后我调用了make.构建了对象文件,但在将它们收集到应用程序中时,我收到了以下错误:

obj/Debug /../../ XX/YY.o:文件无法识别:无法识别文件格式

collect2:ld返回1退出状态

clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

那么,我必须如何为LLVM运行时解释器(lli)正确构建这个项目?

Ant*_*kov 5

你应该通过llvm-link链接,而不是通过clang ++