Щойно я оновив Xcode 4 та iOS 4.3, але тепер, коли я намагаюся створити / запустити свій проект, він повертає таку помилку JSON SDK:
ld: warning: ignoring file /var/folders/OV/OVQ5LuaPFY4lW0L0a9jdRk+++TI/-Caches-/com.apple.Xcode.501/CompositeSDKs/iphoneos-iPhoneOS4.3-dqtvoenrseczxwakgamuhnlmhcbu/usr/local/lib/libjson.a, file was built for archive which is not the architecture being linked (armv7)
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_SBJSON", referenced from:
objc-class-ref in Neighbourhoods.o
objc-class-ref in StreetLevel.o
...
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
Після оновлення до Xcode 4, здається, він намагається створити для випуску, тоді як у старих версіях я вважаю, що він будував налагодження, але я не можу бачити, де я можу це змінити.
У мене встановлено пакет SDK JSON під ~ / Бібліотека / SDK /
SDK додано до додаткових SDKрозділ як для випуску, так і для налагодження. Я також переконався, що наступні "Інші прапорці Linker" також додані до випуску та налагодження: "-all_load -ObjC -ljson".
Перевіривши / додавши все це, він все одно не виграв.
Хтось може пролити будь-яке світло на цю проблему?
Відповіді:
1 для відповіді № 1Я не впевнений, чому врешті-решт він перестав працювати після оновлення, але я тепер видалив SDK і просто додав вихідний код до проекту, не ідеально, але він працює.
1 для відповіді № 2
У мене була така ж помилка при побудові сторонньої сторонибібліотека, коли під 4.2.6 раніше не скаржилася. Відкрийте проект бібліотеки, перейдіть до меню "Проект -> Редагувати параметри проекту -> Вкладка побудови" та перегляньте розділ "Архітектура".
Під підпунктами "Архітектури" та "Дійсні архітектури" перевірте, чи містять вони посилання на "armv7". Якщо ні, вам доведеться його вибрати / додати.
Зробіть те ж саме для своєї активної цілі: меню "Проект -> Редагувати активну ціль -> Побудувати".
Після внесення змін будуйте заново, і у вас не повинно виникнути помилок у зв’язці.
0 для відповіді № 3
У мене був робочий проект, який не вдалося зв’язати після менеперейшов на SDK 4.3 після оновлення Xcode 4. Я видалив ARM7 з цільової архітектури, залишивши лише ARM6, і це виправило. Постріл у темряві, але, можливо, інші також можуть використовувати цей спосіб вирішення.