2012-03-28 1 views
1

В Kern/task.h, я нашел заявить:Как исправить ошибку компоновщика "Неопределенные символы для архитектуры i386 от:" _current_task ""?

__BEGIN_DECLS 
extern task_t current_task(void); 
extern void task_reference(task_t task); 
__END_DECLS 

Но когда я вызвать функцию current_task() в приложении IOS,. я получил ошибку компоновщика, как:

Undefined symbols for architecture i386 from: 
"_current_task", referenced from:.... in xxx.o 
ld: symbol(s) not found for architecture i386 
collect2: ld returned 1 exit status 

Как исправить эту проблему?

ответ

0

Простое решение: Используйте функцию mach_task_self() для замены функции current_task. Все еще может возвращать указатель на структуру задачи, связанную с текущим запуском потока ядра.

Но я все еще хочу решить проблему выше. :(

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