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 !
|