2015-06-10 4 views
1

Я унаследовал проект iOS и даже не могу его построить. Я получаю следующее сообщение об ошибке:Ошибка Apple Mach-O Linker - ld: файл не найден: -ObjC

ld: file not found: -ObjC 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Я видел сообщения об ошибке «Файл не найден», но ни один, относящихся к буровому «-ObjC», который выглядит как переключатель.

Любые идеи?

+0

подробно расскажите о своей проблеме. какие рамки вы используете или т. д., потому что этот тип ошибок имеет множество причин. как рамка отсутствует или не правильно настроен заголовок и т. д. –

+0

Извините, я не уверен, как лучше всего ответить. Цель развертывания - iOS 6.1. Следующие фреймворки перечислены в разделе «Общие»: SystemConfiguration, Security, CoreData, CoreGraphics, CoreLocation, MapKit, UIKit, Foundation, QuartzCore, MessageUI. Следующие также перечислены, но в красном: libGMDatePicker.a (я думаю, что это внутренний), libCascade.a, libBCTabBarController.a, libFlurry.a, libPods.a Все они необходимы. –

ответ

0

Спасибо всем, мне удалось разобраться.

@ Droppy указал мне в правильном направлении.

Перед флагом -ObjC был другой под названием -force_all. Затем я наткнулся на this answer, который указал, что вам нужен только флаг -ObjC. Я удалил -force_all, и он начал работать!

0

Просмотрите свои настройки сборки, как в Xcode, так и в файле xcconfig.

Я видел, как люди добавили опцию - ObjC к некоторым настройкам сборки без всякой причины, и компоновщик может интерпретировать это как запрос на связывание файла с именем ObjC или -ObjC.

2

-ObjC действительный вариант ld, однако можно смутить ld, если какой-либо другой вариант не работает. Например, для параметра -framework требуется аргумент, и если этот аргумент (имя фреймворка) отсутствует, это вызовет вид ошибки, который вы видите.

ld ... -framework -ObjC 

Однако я не могу точно указать, где ошибка, не видя полную командную строку компоновщика.

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