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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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



Merci d'avance pour vos réponses !