未找到与llvm clang llvm ld main的链接

未找到与llvm clang llvm ld main的链接,llvm,Llvm,我试图用clang编译这个简单的程序,然后将它与LLVMLD链接,我的目标是避免GNULD。我一定是用错了吗?llvm ld使用位代码文件作为输入,以获取可执行文件或将所有输入文件合并到新的位代码文件中。对于对象文件,您需要使用lld $ 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.

我试图用clang编译这个简单的程序,然后将它与LLVMLD链接,我的目标是避免GNULD。我一定是用错了吗?

llvm ld使用位代码文件作为输入,以获取可执行文件或将所有输入文件合并到新的位代码文件中。对于对象文件,您需要使用
lld

$ 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