如何在MacOS上将多个mach-o文件与终端链接



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

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

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

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

那么我该怎么做才能链接它们并生成像 ab.o 这样的链接对象文件呢?

我尝试了以下方法:

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,因为这通常意味着未链接的对象文件。

在此处输入图像描述

为什么将 a.o 和 b.o 链接到 ab,但 a.o 和 b.o 文本大小不是 ab.o 文本大小

0000005c != 0000002e + 0000002c

相关内容

最新更新