Partage
  • Partager sur Facebook
  • Partager sur Twitter

Undifined reference to 'WinMain'

Undifined reference to 'WinMain'

Sujet résolu
    30 juillet 2023 à 12:01:22

    Bonjour à tous,

    J'ai le code suivant:

    #include <stdio.h>
    #include <stdlib.h>
    #include <SDL.h>
    
    int main(int argc, char* argv[])
    {
        printf("Hello world!\n");
        return 0;
    }

    Et ça me sors Undifined reference to 'WinMain':colere:. Pour la bibliothèque SDL, il me semble avoir déjà tous installer correctement.

    Pourriez vous me dire quel pourrais être la cause du problème?

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      30 juillet 2023 à 12:07:18

      Il faut que le fichier libmingw32.a (-lmingw32) soit le premier dans la liste des fichiers lib à lier.
      • Partager sur Facebook
      • Partager sur Twitter
      ...
        30 juillet 2023 à 13:21:10

        Il est dans les lib de MinGw.

        Tu utilises bien MinGW comme compilateur ?

        • Partager sur Facebook
        • Partager sur Twitter
        ...
          30 juillet 2023 à 14:56:45

          Tu es sur quel système? Windows ou Linux (Ubuntu)?
          Tu n'as pas besoin de SDL.h ni stdlib.h dans cet exercice.
          • Partager sur Facebook
          • Partager sur Twitter

          Le Tout est souvent plus grand que la somme de ses parties.

            30 juillet 2023 à 15:05:06

            Il n'y a pas de fichier libmingw32.a. Peut être que je n'ai pas télécharger les bons fichiers. Sinon je suis sur Windows (11).

            -
            Edité par JacketJeanMartin 30 juillet 2023 à 15:07:27

            • Partager sur Facebook
            • Partager sur Twitter
              30 juillet 2023 à 15:17:30

              rouIoude a écrit:

              Il est dans les lib de MinGw.

              Tu utilises bien MinGW comme compilateur ?

              Sinon tu entres sur une fonction WinMain au lieu de main, comme cela tu n'as pas besoin de libmingw32.a  

              -
              Edité par rouIoude 30 juillet 2023 à 15:22:03

              • Partager sur Facebook
              • Partager sur Twitter
              ...
                30 juillet 2023 à 16:31:27

                Est-ce que tu as essayé en virant <SDL.h>, comme préconisé par Pierrot ?
                • Partager sur Facebook
                • Partager sur Twitter
                  30 juillet 2023 à 16:41:19

                  Dans ce cas on n'est plus dans une application SDL, donc je ne vois plus l'utilité de l'avoir installée. 

                  EDIT : Dès on inclus sdl.h on trouve un define :

                  #define main    SDL_main

                  Il n'y a donc plus de fonction main.

                  Après, je pars du principe qu'il souhaite utiliser SDL puisqu'il l'a installée.

                  -
                  Edité par rouIoude 30 juillet 2023 à 17:04:05

                  • Partager sur Facebook
                  • Partager sur Twitter
                  ...
                    30 juillet 2023 à 18:03:11

                    Ca marche, j'ai remplacé main par WinMain.

                    Merci

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Undifined reference to 'WinMain'

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown