01net    Web


Actuellement en ligne : 1164 Utilisateurs dont 48 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> Probleme de compilation avec Code::Blocks
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
ddapt
  
   
      ?   @     Posté le 16/05/2007 14:20:37  
Voter pour ce message
Bonjour a tous,

Je viens vous demander de l'aide car j'ai un souci avec mon code en le compilant...
J'ai une erreur qui est la suivante:

Undefined reference to 'WinMain@16'

Je ne comprend pas pourquoi, j'ai fait des recherche et j'ai vu que c'était soit du au main, soit au type de projet

Sauf que le programme fonctionnait avant que je mette le #include "hearder.h" dans le main.c

Desormais même sans le #include "header.h" dans le main.c , Code::Blocks me renvoi cette erreur.





Voila mon code:


main.c

#include <stdlib.h>
#include <gtk/gtk.h>
#include <SDL/SDL.h>
#include <SDL/SDL_net.h>



void OnDestroy(GtkWidget *pWidget, gpointer pData);

int main(int argc,char **argv)
{
/* Declaration du widget */
GtkWidget *pWindow;
GtkWidget *TextView;
GtkWidget *Vbox;
GtkWidget *Hbox;
GtkWidget *pMenuBar;
GtkWidget *pMenuItem;
GtkWidget *pMenu;
GtkWidget *Frame;

gtk_init(&argc,&argv);

/* Creation de la fenetre */
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Definition de la position */
gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER);
/* Definition de la taille de la fenetre */
gtk_window_maximize(pWindow);
/* Titre de la fenetre */
gtk_window_set_title(GTK_WINDOW(pWindow), "Routeur Config");

Vbox= gtk_vbox_new(FALSE,5);
gtk_container_add(GTK_CONTAINER(pWindow), Vbox);


/**** Creation du menu ****/

/* ETAPE 1 */
pMenuBar = gtk_menu_bar_new();
/** Premier sous-menu **/
/* ETAPE 2 */
pMenu = gtk_menu_new();
/* ETAPE 3 */
pMenuItem = gtk_menu_item_new_with_label("Nouveau");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);

pMenuItem = gtk_menu_item_new_with_label("Ouvrir");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);

pMenuItem = gtk_menu_item_new_with_label("Enregistrer");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);

pMenuItem = gtk_menu_item_new_with_label("Fermer");
gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);

pMenuItem = gtk_menu_item_new_with_label("Quitter");

gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);
/* ETAPE 4 */
pMenuItem = gtk_menu_item_new_with_label("Fichier");
/* ETAPE 5 */
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), pMenu);
/* ETAPE 6 */
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuBar), pMenuItem);

/** Second sous-menu **/
/* ETAPE 2 */
pMenu = gtk_menu_new();
/* ETAPE 3 */
pMenuItem = gtk_menu_item_new_with_label("A propos de...");

gtk_menu_shell_append(GTK_MENU_SHELL(pMenu), pMenuItem);
/* ETAPE 4 */
pMenuItem = gtk_menu_item_new_with_label("?");
/* ETAPE 5 */
gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItem), pMenu);
/* ETAPE 6 */
gtk_menu_shell_append(GTK_MENU_SHELL(pMenuBar), pMenuItem);

/* Ajout du menu a la fenetre */
gtk_box_pack_start(GTK_BOX(Vbox), pMenuBar, FALSE, FALSE, 0);



TextView= gtk_text_view_new();
gtk_box_pack_start(GTK_BOX(Vbox), TextView, TRUE, TRUE, 0);

connect();


Hbox= gtk_hbox_new(FALSE,5);
gtk_box_pack_end(GTK_BOX(Vbox), Hbox, TRUE, FALSE, 0);

Frame = gtk_frame_new("Configuration");
gtk_box_pack_end(GTK_BOX(Hbox), Frame, TRUE, FALSE, 0);

Frame = gtk_frame_new("Diagnostic");
gtk_box_pack_end(GTK_BOX(Hbox), Frame, TRUE, FALSE, 0);
Frame = gtk_frame_new("Configuration");
gtk_box_pack_end(GTK_BOX(Hbox), Frame, TRUE, FALSE, 0);




/* Connexion du signal "destroy" */
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(OnDestroy), NULL);
/* Affichage de la fenetre */
gtk_widget_show_all(pWindow);

/* Demarrage de la boucle evenementielle */
gtk_main();

return EXIT_SUCCESS;
}



void OnDestroy(GtkWidget *pWidget, gpointer pData)
{
/* Arret de la boucle evenementielle */
gtk_main_quit();
}





connect.c

include <stdlib.h>
#include <gtk/gtk.h>
#include <SDL/SDL.h>
#include <SDL/SDL_net.h>


void connect (){

FILE* fichier;
FILE* fichier2;


SDL_Init(SDL_INIT_VIDEO);
SDLNet_Init();

TCPsocket Socket;
IPaddress Hote;

SDLNet_ResolveHost(&Hote,"pop.free.fr",110); // Pour se connecter à
// irc.freenode.net:6667

Socket = SDLNet_TCP_Open(&Hote);

// Maintenant Socket contient une socket valide que l'on peut utiliser
// pour communiquer, ou est égale à NULL
if(Socket==NULL){
fichier= fopen("error.txt","a+");
fprintf(fichier, "Connection impossible");
fclose(fichier);
}
else
{
fichier2= fopen("camarche.txt","a+");
fprintf(fichier2, "Ca marche!!!!!\n");
fclose(fichier2);
}




SDLNet_Quit();
SDL_Quit();

return 0;
}





header.h

void connect ();




Merci d'avance pour vos réponses ! :D
ddapt
  
   
      ?   @     Posté le 16/05/2007 14:54:22  
Voter pour ce message
Je pensais que l'erreur venait de mon code mais ...

pour vérifier, j'ai creer une simple fenêtre avec la bibliothèque GTK donc mon code ressemble à :

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

void OnDestroy(GtkWidget *pWidget, gpointer pData);

int main(int argc,char **argv)
{
/* Declaration du widget */
GtkWidget *pWindow;

gtk_init(&argc,&argv);

/* Creation de la fenetre */
pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* Definition de la position */
gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER);
/* Definition de la taille de la fenetre */
gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
/* Titre de la fenetre */
gtk_window_set_title(GTK_WINDOW(pWindow), "Chapitre Fenetre");

/* Connexion du signal "destroy" */
g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(OnDestroy), NULL);
/* Affichage de la fenetre */
gtk_widget_show(pWindow);

/* Demarrage de la boucle evenementielle */
gtk_main();

return EXIT_SUCCESS;
}

void OnDestroy(GtkWidget *pWidget, gpointer pData)
{
/* Arret de la boucle evenementielle */
gtk_main_quit();
}


Et dés que j'insère la bibliothèque SDL c'est a dire que j'insere
#include <SDL/SDL.h>
il me met cette erreur ...


quelqu'un pourrait me guider? j'ai installer la bibliothèque SDL avec deux potes chez qui eux ca fonctionne bien :hurle: ... Donc je vois pas pourquoi ca ne fonctionne pas chez moi.

Merci d'avance ! :hello:
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> Probleme de compilation avec Code::Blocks

Aller à :

Page générée en : 0.229s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

GADGET 2.0
RSS, podcast, widgets, web TV et radio, jeux en ligne ... le portail de bureau personnalisable à l'infini !
Conseils
Découvrez plus de 300 astuces pour Windows (XP et Vista) et vos logiciels préférés