رابط Xcode والكتل: رمز غير محدد "___block_global_1"
-
28-09-2019 - |
سؤال
أحاول إنشاء تطبيق في 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 ++.) كل شيء يجمع دون خطأ.
تحديث: تحريك الكتلة لتكون متغيرًا محليًا للروتين الذي يشير إلى أنه حلول قابل للتطبيق (وإن لم يكن مفضلاً).
ما يعطي؟
المحلول 2
في هذه المرحلة ، أعتقد أن هذه القضية هي خطأ.
نصائح أخرى
إذا error_handler_s
ليس المقصود أن يتم تصديره ، يمكنك القيام به static
كحل آخر.
namespace {
...
static error_block_t error_handler_s = ^void(NSError* error) { ... };
...
}
خلاف ذلك ، أعتقد أن هذا خطأ في مجلس التعاون الخليجي.
لا تنتمي إلى StackOverflow