2013-08-28 2 views
3

Итак, у меня есть две библиотеки, которые, я думаю, конфликтуют друг с другом. У меня есть следующие параметры для ключа «Библиотека Поиск пути»:Конфликтующие библиотеки в проекте iOS

"$(SRCROOT)/projectname/Release-iphone/lib" для одного из моих библиотек и "$(SRCROOT)/projectname" для другого.

Я добавил CorePlot библиотеки в мой проект, но работать она требует следующих флагов компоновщика: -ObjC -all_load.

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

duplicate symbol _OBJC_CLASS_$_GTMHTTPFetcher in: 
    /Users/user/Library/Developer/Xcode/DerivedData/projectname-chibchblpntaapfagqcohtkixhib/Build/Intermediates/projectname.build/Debug-iphoneos/projectname.build/Objects-normal/armv7/GTMHTTPFetcher.o 
    /Users/user/Dropbox/Projectname/projectname/projectname/libGTLTouchStaticLib.a(GTMHTTPFetcher.o) 
duplicate symbol _OBJC_METACLASS_$_GTMHTTPFetcher in: 
    /Users/user/Library/Developer/Xcode/DerivedData/projectname-chibchblpntaapfagqcohtkixhib/Build/Intermediates/projectname.build/Debug-iphoneos/projectname.build/Objects-normal/armv7/GTMHTTPFetcher.o 
    /Users/user/Dropbox/Projectname/projectname/projectname/libGTLTouchStaticLib.a(GTMHTTPFetcher.o) 
ld: 176 duplicate symbols for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Проблема оказывается с библиотекой API Google libGTLTouchStaticLib.a, но я не узнайте, как на нем влияют флаги-линкеры.

ответ

2

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

+0

Дело в том, что я не ссылался на те конкретные файлы, которые нужно импортировать из любого места - я просто перетащил их в свой проект. –

+0

Я просто собираюсь по именам мест, которые он сообщает. Файл .../DerivedData/... является нормальным для скомпилированного исходного файла, а libGTLTouchStaticLib.a - это ссылка на библиотеку. –

+0

Да, этот добавлен непосредственно в проект, скопировав в него, этого не должно быть? –

0

screw -all_load, который был взломан для загрузки категорий. должен работать без него

+0

Нет! Не работает без '-all_load' ** или **' -ObjC' –

+0

ObjC необходим - all_load - это плохо в любом случае ... можете ли вы опубликовать, какие ошибки вы получите? –

+0

Я получаю те же ошибки, что и в сообщении –

Смежные вопросы