2010-08-06 4 views
2

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

Я использую каркас TouchJSON (http://code.google.com/p/touchcode/) для iphone. Все компилируется отлично на симуляторе iphone, но когда я пытаюсь скомпилировать на устройстве, я получаю ошибки связи.

Неопределенные символы:

"___switch8", referenced from: 
    -[NetworkController constructByteMessage:command:] in NetworkController.o 
    -[CJSONScanner scanJSONObject:error:] in CJSONScanner.o 

"___restore_vfp_d8_d15_regs", referenced from: 
    +[CJSONDataSerializer initialize] in CJSONDataSerializer.o 

"___save_vfp_d8_d15_regs", referenced from: 
    +[CJSONDataSerializer initialize] in CJSONDataSerializer.o 

"___switchu8", referenced from: 
    -[CJSONScanner scanJSONStringConstant:error:] in CJSONScanner.o 

ld: symbol(s) not found 
collect2: ld returned 1 exit status 

NetworkController является класс шахты, который использует методы touchJSON для анализа и генерации JSON. Я думаю, что это библиотека touchJSON, которая вызывает большинство ошибок связывания, поэтому я попробовал другую фреймворк json, но он все еще вызывает 1 ошибку.

Я попытался перейти от «debug» к «release», но все же дает те же ошибки. Затем я попытался добавить -all_load и -ObjC к флагам компоновщика, но все еще ошибки. Любая помощь или подсказки будут оценены.

ответ

1

Вы можете попытаться использовать json-framework вместо touchJSON, если вам не удастся исправить ошибки компоновщика.

+0

Я попытался использовать json-framework, он дал мне одну ошибку, которая была похожа. «___switch32», ссылки из: - [SBJsonParser scanRestOfString:] в SBJsonParser.o – user413385

0

Это выглядит как небольшая ошибка с оператором switch, который, по-видимому, является функцией/macro/any в Objective-C, по крайней мере, сейчас в iOS4. Все это очень запутывает. Помогает ли добавление -lobjc флагам компоновщика?

+0

я попытался добавить -lobjc в «другие флаги компоновщика» для проекта, а также цель и она до сих пор errors.Thanks много за помощь так далеко. – user413385

+1

Я узнал, что если я переключу компилятор на llvm gcc 4.2, он будет успешно сгенерирован. Я бы хотел, чтобы он собирался для gcc 4.2 успешно, хотя. – user413385