$ 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。我必须以错误的方式使用它吗?
答案 0 :(得分:0)
llvm-ld
使用bitcode文件作为输入来获取可执行文件或将所有输入文件合并到一个新的bitcode文件中。对于目标文件,您需要使用lld
。