链接llvm clang llvm ld main未找到

时间:2013-05-17 07:05:19

标签: llvm

$ cat test.c
int printf(const char *, ...);
int main() { printf("ok\n");}

$ clang -c test.c
$ llvm-ld test.o -o test /usr/lib/crt1.o -lSystem
$ ./test
'main' function not found in module.
$ ld test.o -o test /usr/lib/crt1.o -lSystem
$ ./test
ok

我正在尝试使用clang编译简单程序,然后将其与llvm-ld链接,我的目标是避免使用GNU ld。我必须以错误的方式使用它吗?

1 个答案:

答案 0 :(得分:0)

llvm-ld使用bitcode文件作为输入来获取可执行文件或将所有输入文件合并到一个新的bitcode文件中。对于目标文件,您需要使用lld