Связывание статических библиотек, которые совместно используют другую статическую библиотеку

В настоящее время у меня есть один проект Xcode для очень большой базы кода, я назову его Project X , который я разделю на несколько подпроектов (. Проекты А, Б, С).

Пока что каждый из этих проектов прекрасно компилируется сам по себе. Все они производят статические библиотеки. Project B и Project C зависят от статической библиотеки, созданной Project A для сборки.

У меня есть еще один проект xcode, Project Z , для которого требуются статические библиотеки, созданные Projects B и C . Вот в чем проблема. Когда Project Z входит в фазу компоновки, все идет наперекосяк -в библиотеках обнаруживаются повторяющиеся символы для проектов B и C для кода, с которым они первоначально связывались в Project А !

Я новичок в мире статических библиотек и не знаю, как двигаться дальше с Project Z или как модифицировать другие проекты, чтобы они связывались с одним и тем же Проект А либ. У меня ощущение, что это невозможно. Каковы мои варианты здесь?

Изменить:

Я должен уточнить, что Project B и Project C необходимо встроить в отдельные статические библиотеки, потому что некоторым клиентам потребуется только одна или другая.

Кроме того, у меня есть эта дилемма на платформах OSX и iOS.

Я понимаю, что могу решить эту проблему в OSX, создав проекты в виде динамических библиотек. Тем не менее, я бы предпочел не делать этого, и у меня все еще остается та же проблема на iOS.

14
задан Jeff 1 August 2012 в 16:53
поделиться