Дубликат символа между двумя библиотеками - PullRequest
0 голосов
/ 17 сентября 2010

У меня следующая проблема: я связываюсь с библиотекой Admob, которая содержит некоторую часть API GData.Но я также хочу установить связь со статической библиотекой GData, чтобы использовать ее непосредственно в своем приложении.

Конечно, я получаю дубликаты символов во время ссылки.

Как мне этого избежать?

Ответы [ 2 ]

2 голосов
/ 18 сентября 2010

Библиотека Objective C GData включает в себя заголовок GDataTargetNamespace.h с макросами для переопределения каждого класса в библиотеке.

Вы можете включить заголовок в свой проект и определить префикс в настройках целевой сборки.Например,

-DGDATA_TARGET_NAMESPACE = MyApp

Это добавит префикс к каждому классу в библиотеке GData для вашего приложения.

Это действительно ошибка в библиотеке Admob,хотя.

0 голосов
/ 18 сентября 2010

Нет способа сделать это. Вы можете прочитать мой соответствующий ответ здесь . По сути, есть только один способ сделать это: изменить библиотеку Admob, чтобы она использовала ту же статическую библиотеку GData.

Если подумать, я бы сказал, что вы также можете загрузить любую из библиотек во время выполнения. Конфликты имен сохранятся, но каждый символ-C будет переопределен. Не уверен, действительно ли это работает. Первый способ тоже приятнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...