2012-03-28 4 views
1

In kern/task.h, fand ich die declare:Wie man Linker Fehler "Undefiniert Symbole für Architektur i386 von:" _current_task ""?

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

Aber wenn ich die Funktion current_task() aufrufen, in einer iOS-Anwendung. Ich habe den Linkerfehler wie:

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 

Wie dieses Problem zu beheben?

Antwort

0

Eine einfache Lösung: Verwenden Sie mach_task_self(), um die Funktion current_task zu ersetzen. Kann immer noch einen Zeiger auf die Task-Struktur zurückgeben, die dem aktuell laufenden Kernel-Thread zugeordnet ist.

Aber ich will immer noch das Problem oben lösen. :(

Verwandte Themen