0
$ 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。我必须以错误的方式使用它?

4

1 回答 1

0

llvm-ld使用位码文件作为输入来获取可执行文件或将所有输入文件组合成一个新的位码文件。对于您需要使用的目标文件lld

于 2013-05-17T09:08:14.997 回答