дублировать главный символ в SDL_uikitappdelegate.o

Я пытаюсь интегрировать библиотеку в существующий продукт iOS, для которого требуется флаг компоновщика -ObjC, но это вызывает ошибку повторяющегося символа _main в другой библиотеке (libSDL2.a). Кто-нибудь здесь знает, как бороться с этой ошибкой? Я попытался использовать главную строку неожиданного_символа, чтобы запретить экспорт символа, но это не помогло.

Является ли изменение исходного кода libSDL для комментирования определения main() единственным возможным способом? Я хотел бы избежать этого, если это возможно. Спасибо, Эй Джей.


person Alfred J    schedule 08.08.2017    source источник
comment
Я имел в виду флаг компоновщика -unexported_symbol, а не неожиданный_символ :)   -  person Alfred J    schedule 08.08.2017
comment
Я думаю, что один из ваших фреймворков уже использует ту же функцию. проверьте здесь решение stackoverflow.com/questions/24298144/. или это: stackoverflow.com/questions/14369143/   -  person Joshua    schedule 08.08.2017
comment
Проблема заключается в том, что библиотека для интеграции и libSDL2.a реализуют одно и то же имя метода. Если у вас есть одна из этих библиотек, просто добавьте префикс в начале метода, чтобы вы знали, из какой библиотеки он взят. С этим проблема должна исчезнуть.   -  person Ivan    schedule 08.08.2017
comment
Джошуа, я видел эти две темы и многие другие. Я уже знаю, что основная функция есть в libSDL2.a и одна в моих собственных файлах, и мне нужна та, что у меня есть. Проблема в том, что -ObjC принудительно загружает все библиотеки. Я могу нормально строить без флага -ObjC, но тогда я сталкиваюсь с исключениями во время выполнения.   -  person Alfred J    schedule 08.08.2017
comment
Иван, это основная функция. Префикс не поможет   -  person Alfred J    schedule 08.08.2017
comment
@AlfredJ Вы пытались удалить «all_load» в других флагах компоновщика?   -  person Joshua    schedule 08.08.2017
comment
Затем он строится, но мне нужен флаг all_load/ObjC, потому что в противном случае я получаю этот селектор, не распознаваемый во время выполнения.   -  person Alfred J    schedule 08.08.2017
comment
Взгляните на выходные данные компоновщика в навигаторе отчетов Xcode. В деталях он покажет вам конфликтующие файлы.   -  person clemens    schedule 08.08.2017