我正在尝试在 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++。)一切都编译没有错误。
更新:将块移动为引用它的例程的局部变量是一种可行的(尽管不是首选)解决方法。
是什么赋予了?