Threads unter Linux mit Anjuta (linkerproblem)
-
Huhu!
Ich möchte einen kleinen IRC Bot schreiben.
Für den Messagedispatcher möchte einen Thread öffnen, der dann in einer Endlosschleife die Nachrichten vom Server empfangen soll.Zum testen von Threads wollte ich folgendes Testprogramm kompilieren:
#include <stdio.h> #include <stdlib.h> #include <pthread.h> void *print_message_function( void *ptr ); main() { pthread_t thread1, thread2; char *message1 = "Thread 1"; char *message2 = "Thread 2"; int iret1, iret2; /* Create independent threads each of which will execute function */ iret1 = pthread_create( &thread1, NULL, print_message_function, (void*) message1); iret2 = pthread_create( &thread2, NULL, print_message_function, (void*) message2); /* Wait till threads are complete before main continues. Unless we */ /* wait we run the risk of executing an exit which will terminate */ /* the process and all threads before the threads have completed. */ pthread_join( thread1, NULL); pthread_join( thread2, NULL); printf("Thread 1 returns: %d\n",iret1); printf("Thread 2 returns: %d\n",iret2); exit(0); } void *print_message_function( void *ptr ) { char *message; message = (char *) ptr; printf("%s \n", message); }
Ich erhalte jedoch vom Compiler folgende Fehler:
**
undefined reference to thread_create'
undefined reference to thread_create'
undefined reference to thread_join'
undefined reference to thread_join'
**Durch googlen habe ich herausgefunden, dass ich irgendwie -lpthread dem linker übergeben muss, nur wie? Muss ich das im makefile machen oder so? Hab leider keine Ahnung wie das unter Linux geht, weiß jemand rat?
-
Hast du -pthread zu den Compileroptionen hinzugefügt? Alternativ kannst du wohl -lpthread angeben
-
Wenns so einfach wäre
Das Problem ist, dass es keinen Menüpunkt zu den Compilereinstellungen gibt, oder ich einfach zu blöd bin den zu finden.Ich hab schon wie ein bekloppter gegooglet, aber nix gefunden. Kann man das nicht noch wo anders einstellen? In den makefile oder so?
-
Wie wäre es mal mit nem Blick in das Handbuch? http://anjuta.sourceforge.net/documentations/subpage/documents/C/anjuta-manual/x771.html#target-properties
-
Man bin ich dämlich, hätte ich auch selber drauf kommen können einfach in die Anleitung zu schauen.
Vielen vielen dank, jetzt hab ichs
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.