Когда вы компилируете программу, она (*) компилируется для конкретной платформы и конкретной операционной системы. Он также, скорее всего, будет скомпилирован для определенного набора библиотек. Обычно эти параметры совпадают с параметрами компьютера, выполняющего компиляцию (остальные случаи называются кросс-компиляцией).
Другими словами: компиляция программы на Mac создаст двоичный файл, который работает только на Mac (если, опять же, вы не выполняете кросс-компиляцию). Ваша система UNIX (кстати, какая UNIX?) имеет другую операционную систему, другие библиотеки и, возможно, даже другую архитектуру процессора.
Отчасти связано: Apple рекламировала (или использовала рекламу) Mac OS X как UNIX. Хотя Mac OS X, безусловно, является операционной системой класса UNIX, это не означает, что она двоично совместима со всеми другими ОС класса UNIX.
* почти всегда, за исключением систем, призванных избежать этого (например, Java)
person
Joachim Sauer
schedule
17.10.2011