Связывание с платформами Apple с помощью gcc

Я создал несколько функций-оболочек, которые инкапсулируют работу с CoreAudio, и цель состоит в том, чтобы создать библиотеку C, которую я могу использовать с некоторыми инструментами командной строки C++. Пока все работает хорошо. Я взял образец проекта, изменил его, и он собирается и запускается в XCode. Я бы хотел вообще пропустить XCode и собрать библиотеку с помощью gcc и Makefile.

Как я могу связать с Apple Framework? Являются ли фреймворки просто общими библиотеками, которые я мог бы включить в опции -l и -L в gcc?


person Dr. Watson    schedule 22.11.2009    source источник


Ответы (1)


Вот пример:

gcc -framework CoreServices -o test test.c

Со страницы руководства Apple gcc (i686-apple-darwin10-gcc-4.2.1):

   In addition to the options listed below, Apple's GCC also accepts and
   passes nearly all of the options defined by the linker ld and by the
   library tool libtool.  Common options include -framework, -dynamic,
   -bundle, -flat_namespace, and so forth.  See the ld and libtool man
   pages for further details.

И со страницы руководства ld:

 -framework name[,suffix]
             This option tells the linker to search for `name.frame-
             work/name' the framework search path.  If the optional suffix
             is specified the framework is first searched for the name
             with the suffix and then without (e.g. look for `name.frame-
             work/name_suffix' first, if not there try `name.frame-
             work/name').
person Jeremy L    schedule 22.11.2009
comment
Таким образом, разница между связыванием с -framework и связыванием с -l в Mac OS заключается в правильном пути поиска? - person user10607; 01.11.2014