如何在 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.out
或 ab
,但可能不是 ab.o
,因为这通常意味着 未链接目标文件。
我创建了两个文件: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.out
或 ab
,但可能不是 ab.o
,因为这通常意味着 未链接目标文件。