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

时间:2012-01-28 07:37:20

标签: makefile llvm clang

我有一个多文件c ++项目,在Makefile的帮助下构建。 CCCXX相对来说是gccg++。现在我需要在llvm(lli)下尝试这个项目。 我已经取代了

CC = gcc
CXX = g++
LD = ld

CC = clang
CXX = clang++
LD = clang++

并将-emit-llvm添加到cflags:

CFLAGS_DEBUG =  $(CFLAGS) -g -emit-llvm
...
CFLAGS_RELEASE =  $(CFLAGS) -O2 -emit-llvm

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

  

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

     

collect2:ld返回1退出状态

     

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

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

1 个答案:

答案 0 :(得分:5)

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