OSX 10.6.4(Snow Leopard)でプログラムを開発していますが、コンパイルされた製品を他のIntel Macで実行できるようにしたいと考えています。その中には、XCodeがインストールされていないものもあります。
簡単にするために、私は最初にHelloWorldプログラムを作成しました。
#include<stdio.h>
int main() {
printf("Hello world!\n");
return 0;
}
私がそれを次のようにコンパイルすると
gcc -static prog.c
次のエラーが発生します:
ld: library not found for -lcrt0.o
このライブラリがどこにあるかわかりません。現在、システム共有ライブラリはどこでも利用できるはずなので、Macで静的にコンパイルするべきではないと言う人もいます(サードパーティのライブラリは手動でリンクできます)。ただし、このHello Worldプログラムを別のMacで実行しようとすると、次のエラーが発生します。
dyld: unknown required load command 0x80000022
Trace/BPT trap
では、Macでプログラムをコンパイルして、配布できるようにするにはどうすればよいでしょうか。私が興味を持っているほとんどのコンピューターはIntelMacであるため、アーキテクチャの問題は発生していません。