如何在 MacOS 上使用终端 link 多个 mach-o 文件

How to link multiple mach-o files with terminal on MacOS

我创建了两个文件:a.c和b.c,它们都是*.c文件;

然后我使用终端通过命令编译两者:

gcc -c a.c
gcc -c b.c

我有两个 mach-o 文件:a.o 和 b.o;

那么我可以对它们做些什么 link 并生成一个像 b.o 这样的 linked 目标文件?

我尝试了以下方法:

ld a.o b.o -e main -o ab

但它让我失望了:

ld: warning: No version-min specified on command line
ld: dynamic main executables must link with libSystem.dylib for inferred architecture x86_64

那么接下来应该做什么?

只需将它们反馈给 gcc:

gcc -o ab a.o b.o

旁注:您可能想调用没有后缀的结果文件 ab.outab,但可能不是 ab.o,因为这通常意味着 未链接目标文件。