Использование категории в dylib для расширения класса двоичного файла - PullRequest
0 голосов
/ 10 октября 2009

У меня есть приложение objc, которое имеет класс Foobar, и я хочу создать dylib, который будет загружен в это приложение при запуске и расширяет класс Foobar несколькими методами.

К сожалению, я не могу собрать библиотеку, я получаю следующую ошибку компоновщика:

  "_OBJC_CLASS_$_Foobar", referenced from:


      __objc_const@0 in Foobar+MyStuff.o


      __objc_classrefs__DATA@0 in Foobar+MyStuff.o


ld: symbol(s) not found


collect2: ld returned 1 exit status

Есть ли какой-нибудь флаг компоновщика, который указывает ld игнорировать этот пропущенный символ?

Большое спасибо!

1 Ответ

0 голосов
/ 09 декабря 2009

Если вы добавите следующие аргументы в раздел «Другие флаги компоновщика» своей цели, он проигнорирует отсутствующие символы и позволит вам делать то, что вы пытаетесь сделать.

-force_flat_namespace -undefined suppress

PS: это для Mac. Не знаю, как или если это относится к iPhone.

...