Я пытаюсь создать приложение в Xcode 3.2.4 и получаю следующую ошибку компоновщика:
Undefined symbols:
"___block_global_1", referenced from:
___block_holder_tmp_1.120 in foobarbaz.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Я затрудняюсь объяснить, что я сделал в своем исходном файле, которыйможет быть причиной ошибки.У меня есть блок, который я определяю как глобальную переменную, например:
typedef void(^error_block_t)(NSError* error);
error_block_t error_handler_s = ^void(NSError* error)
{
//...
}
Этот блок определен в пустом пространстве имен в источнике (я компилирую Objective-C ++.) Все компилируется безошибка.
Обновление: Перемещение блока в локальную переменную для подпрограммы, которая ссылается на жизнеспособный (хотя и не предпочтительный) обходной путь.
Что дает?