Я разрабатываю программу на OSX 10.6.4 (Snow Leopard), и я хочу иметь возможность запускать скомпилированный продукт на других компьютерах Intel, некоторые из которых могут не иметь XCode isntalled.Как скомпилировать программу для распространения на Mac
Чтобы упростить ситуацию, я сначала написал программу Hello World.
#include<stdio.h>
int main() {
printf("Hello world!\n");
return 0;
}
Если я скомпилировать как
gcc -static prog.c
я получаю ошибку folllowing:
ld: library not found for -lcrt0.o
Я не знаю, где найти эту библиотеку. Теперь некоторые люди упомянули, что я не должен ставить статически на macs, так как система должна быть доступна в разных библиотеках (сторонние библиотеки могут быть связаны вручную). Однако, когда я пытаюсь запустить эту программу Hello World на другом макинтош, я получаю на следующие ошибки:
dyld: unknown required load command 0x80000022
Trace/BPT trap
Итак, как вы скомпилировать программу на Mac, так что она может распространяться? У меня нет проблем с архитектурой, так как большинство компьютеров меня интересуют Intel Mac.
Вы не должны связывать статически, потому что на mac нет статических библиотек. Все системные библиотеки * доступны только * в общей форме. Ваша проблема, вероятно, что-то еще. – Sven
Предположим, что это исполняемый файл pure-C Unix, а не GUI-приложение? – JulesLt