Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/07/2006, à 03:04

zedtux

[Anjuta] Undefined reference to `g_thread_init' au linkage...

Salut les developpeur big_smile

Donc j'utilise Anjuta, et cet tête de mule ne veux pas me linker mon soft en GTK, dans lequel je veux créer un thread en Glib.

Je doit donc utiliser g_thread_init(NULL); mais qui pose problème au linkage.

Voici mes commandes actuels :
capturecommandessk2.png

Comment puis-je faire pour ce que ce code compile ?

#include <stdio.h>
#include <gtk/gtk.h>

void *print_message_function( void *ptr );

int main()
{
  GThread          *Thread1, *Thread2;
  char *message1 = "Thread 1";
  char *message2 = "Thread 2";
  GError           *err1 = NULL ;
  GError           *err2 = NULL ;

  if( !g_thread_supported() )
  {
     g_thread_init(NULL);
     gdk_threads_init();                   // Called to initialize internal mutex "gdk_threads_mutex".
     printf("g_thread supported\n");
  }
  else
  {
     printf("g_thread NOT supported\n");
  }

  if( (Thread1 = g_thread_create((GThreadFunc)print_message_function, (void *)message1, TRUE, &err1)) == NULL)
  {
     printf("Thread create failed: %s!!\n", err1->message );
     g_error_free ( err1 ) ;
  }

  if( (Thread2 = g_thread_create((GThreadFunc)print_message_function, (void *)message2, TRUE, &err2)) == NULL)
  {
     printf("Thread create failed: %s!!\n", err2->message );
     g_error_free ( err2 ) ;
  }

  g_thread_join(Thread1);
  g_thread_join(Thread2);

  return 0;
}

void *print_message_function( void *ptr )
{
     char *message;
     g_usleep(1000000);
     message = (char *) ptr;
     printf("%s \n", message);
     g_usleep(1000000);
     printf("%s \n", message);
	return(NULL);
}

Merci d'avance ! wink


RECOLLER VOS FICHIERS XTM AVEC TUXTREMSPLIT !!
Adhérant April numéro 4985 [Rejoindre l'April moi aussi !].

Hors ligne

#2 Le 25/07/2006, à 13:04

regis_f

Re : [Anjuta] Undefined reference to `g_thread_init' au linkage...

C'est parce qu'il faut rajouter la libgthread-2.0 dans la liste de pkg-config

exemple :
pkg-config gtk+-2.0 gthread-2.0 --libs --cflags

Je te renvois sur le site d'Anjuta pour configurer correctement le project

http://anjuta.sourceforge.net


Beuvez, beuvez, mais bourré... Jamais !

Hors ligne

#3 Le 25/07/2006, à 23:48

zedtux

Re : [Anjuta] Undefined reference to `g_thread_init' au linkage...

Merci regis_f mais ca ne marche pas sad

J'ai ajouté la ligne que tu donne, à la compilation, ou au linkage, même les deux, mais impossible neutral

Je vais aller voire le site d'anjouta.


EDIt :

Arf... leur FAQ ne marche pas ... J'ai trouvé une question qui expliquait comment inclure le GTK, mais quand ont clique dessus.... page blanche... hmm

Dernière modification par zedtux (Le 25/07/2006, à 23:51)


RECOLLER VOS FICHIERS XTM AVEC TUXTREMSPLIT !!
Adhérant April numéro 4985 [Rejoindre l'April moi aussi !].

Hors ligne

#4 Le 26/07/2006, à 07:11

regis_f

Re : [Anjuta] Undefined reference to `g_thread_init' au linkage...

C'est un problème Anjuta parce que j'ai pris ton fichier (main.c) que j'ai compilé avec la commande suivante:

$gcc -o montest main.c `pkg-config gtk+-2.0 gthread-2.0 --libs --cflags`
$./montest
g_thread supported
Thread 1
Thread 2
Thread 1
Thread 2

Anjuta est un peu lourd dans la gestion des projets. Je ne l'utilise plus que pour la génération de projet (et encore !) et comme éditeur de texte.

PS: Les liens de la doc anjuta sont buggés. Il faut faire défiler la page jusqu'à l'emplacement voulu.


Beuvez, beuvez, mais bourré... Jamais !

Hors ligne

#5 Le 26/07/2006, à 14:33

zedtux

Re : [Anjuta] Undefined reference to `g_thread_init' au linkage...

Oui oui, moi aussi ca marche quand je compile à la main...

C'est con, je me sert que de lui pour coder... hmm


RECOLLER VOS FICHIERS XTM AVEC TUXTREMSPLIT !!
Adhérant April numéro 4985 [Rejoindre l'April moi aussi !].

Hors ligne

#6 Le 02/08/2006, à 10:17

lost-in-the-shell

Re : [Anjuta] Undefined reference to `g_thread_init' au linkage...

Conseil : apprends à utiliser les Makefile wink .


Linux user #401253 - Ubuntu user #3023 .
Nick sur IRC : naji.
Pensez à adhérer au Comité de lutte contre le SMS.

Hors ligne