IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

SDL 1.2 Qt Creator Windows 64


Sujet :

SDL

  1. #1
    Membre confirmé Avatar de nl.smart
    Homme Profil pro
    ouvrier
    Inscrit en
    Avril 2019
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 154
    Points : 522
    Points
    522
    Par défaut SDL 1.2 Qt Creator Windows 64
    Bonjour,

    Après recherche sur le site j'en suis venu à trouver la SDL 1.2, des messages d'erreurs s'affichent dans l'ide lors de la compilation.
    Le fichier téléchargé doit être prévu pour fonctionner en 32 bits alors que l'os dont je dispose est en 64 bits...

    https://jeux.developpez.com/telechar...ur-Code-Blocks

    le dossier a été décompressé à la racine du C et renommé en SDL-1.2.15
    C:\SDL-1.2.15

    Ci-dessous mon fichier .pro :
    Code Qt-pro : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    TEMPLATE = app
    CONFIG += console
    CONFIG -= app_bundle
    CONFIG -= qt
     
    INCLUDEPATH += "C:\\SDL-1.2.15\\include"
     
    LIBS += -L"C:\\SDL-1.2.15\\lib" -lSDL
    LIBS += -L"C:\\SDL-1.2.1\\lib" -lSDLmain
     
    SOURCES += \
            main.c

    Le main :
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>                        	// gestion des couleurs sous windows
     
    #include <SDL/SDL.h>
     
    void pause(void);
     
    int main()
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
     
        SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Nom : SDL_1.2.15_installation_error_2020.01.19.png
Affichages : 798
Taille : 8,2 Ko

    1er message d'erreur pointant à la ligne 15 dans le main :
    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
    20:11:33: Exécution des étapes pour le projet zzz_00_win_64...
    20:11:33: Configuration inchangée, étape qmake sautée.
    20:11:33: Débute : "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" -j8
    C:\Qt\5.13.1\mingw73_64\bin\qmake.exe -o Makefile "..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\zzz_00_win_64.pro" -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
    C:\Qt\5.13.1\mingw73_64\bin\qmake.exe -o Makefile "..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\zzz_00_win_64.pro" -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
    C:\Qt\5.13.1\mingw73_64\bin\qmake.exe -o Makefile "..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\zzz_00_win_64.pro" -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
    C:\Qt\5.13.1\mingw73_64\bin\qmake.exe -o Makefile "..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\zzz_00_win_64.pro" -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
    C:/Qt/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug
    mingw32-make[1]: Entering directory 'D:/UTILITAIRES programmation/Apprentissage Langage C_2020.01.07_01/Projet_ZZZ_Temp_Qt Creator_win_64/build-zzz_00_win_64-Desktop_Qt_5_13_1_MinGW_64_bit-Debug'
    gcc -c -fno-keep-inline-dllexport -g -Wall -W -Wextra -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_QML_DEBUG -I"..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64" -I. -IC:\SDL-1.2.15\include -IC:\Qt\5.13.1\mingw73_64\mkspecs\win32-g++  -o debug\main.o "..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\main.c"
    ..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\main.c: In function 'SDL_main':
    ..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\main.c:18:1: error: number of arguments doesn't match prototype
     {
     ^
    In file included from C:\SDL-1.2.15\include/SDL/SDL.h:30:0,
                     from ..\..\..\Apprentissage Langage C_2020.01.18_01\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\main.c:13:
    C:\SDL-1.2.15\include/SDL/SDL_main.h:57:22: error: prototype declaration
     extern C_LINKAGE int SDL_main(int argc, char *argv[]);
                          ^~~~~~~~
    mingw32-make[1]: *** [Makefile.Debug:128: debug/main.o] Error 1
    mingw32-make[1]: Leaving directory 'D:/UTILITAIRES programmation/Apprentissage Langage C_2020.01.07_01/Projet_ZZZ_Temp_Qt Creator_win_64/build-zzz_00_win_64-Desktop_Qt_5_13_1_MinGW_64_bit-Debug'
    mingw32-make: *** [Makefile:38: debug] Error 2
    20:11:36: Le processus "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" s'est terminé avec le code 2.
    Erreur lors de la compilation/déploiement du projet zzz_00_win_64 (kit : Desktop Qt 5.13.1 MinGW 64-bit)
    When executing step "Make"
    20:11:36: Temps écoulé : 00:03.
    2eme message d'erreur pointant à la ligne 57 :
    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
    /*
        SDL - Simple DirectMedia Layer
        Copyright (C) 1997-2012 Sam Lantinga
     
        This library is free software; you can redistribute it and/or
        modify it under the terms of the GNU Lesser General Public
        License as published by the Free Software Foundation; either
        version 2.1 of the License, or (at your option) any later version.
     
        This library is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        Lesser General Public License for more details.
     
        You should have received a copy of the GNU Lesser General Public
        License along with this library; if not, write to the Free Software
        Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     
        Sam Lantinga
        slouken@libsdl.org
    */
     
    #ifndef _SDL_main_h
    #define _SDL_main_h
     
    #include "SDL_stdinc.h"
     
    /** @file SDL_main.h
     *  Redefine main() on Win32 and MacOS so that it is called by winmain.c
     */
     
    #if defined(__WIN32__) || \
        (defined(__MWERKS__) && !defined(__BEOS__)) || \
        defined(__MACOS__) || defined(__MACOSX__) || \
        defined(__SYMBIAN32__) || defined(QWS)
     
    #ifdef __cplusplus
    #define C_LINKAGE	"C"
    #else
    #define C_LINKAGE
    #endif /* __cplusplus */
     
    /** The application's main() function must be called with C linkage,
     *  and should be declared like this:
     *      @code
     *      #ifdef __cplusplus
     *      extern "C"
     *      #endif
     *      int main(int argc, char *argv[])
     *      {
     *      }
     *      @endcode
     */
    #define main	SDL_main
     
    /** The prototype for the application's main() function */
    extern C_LINKAGE int SDL_main(int argc, char *argv[]);
     
     
    /** @name From the SDL library code -- needed for registering the app on Win32 */
    /*@{*/
    #ifdef __WIN32__
     
    #include "begin_code.h"
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    /** This should be called from your WinMain() function, if any */
    extern DECLSPEC void SDLCALL SDL_SetModuleHandle(void *hInst);
    /** This can also be called, but is no longer necessary */
    extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
    /** This can also be called, but is no longer necessary (SDL_Quit calls it) */
    extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
    #ifdef __cplusplus
    }
    #endif
    #include "close_code.h"
    #endif
    /*@}*/
     
    /** @name From the SDL library code -- needed for registering QuickDraw on MacOS */
    /*@{*/
    #if defined(__MACOS__)
     
    #include "begin_code.h"
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    /** Forward declaration so we don't need to include QuickDraw.h */
    struct QDGlobals;
     
    /** This should be called from your main() function, if any */
    extern DECLSPEC void SDLCALL SDL_InitQuickDraw(struct QDGlobals *the_qd);
     
    #ifdef __cplusplus
    }
    #endif
    #include "close_code.h"
    #endif
    /*@}*/
     
    #endif /* Need to redefine main()? */
     
    #endif /* _SDL_main_h */
    J'utilise La SDL 1.2 car le cour que je suis est élaboré avec cette version de la librairie.

    La SDL 2.0 est disponible sur ce lien en version 64 bits
    https://www.libsdl.org/download-2.0.php

    Il y a aussi ce lien, ci-dessous, qui permet d'effectuer la transition entre le SDL 1.2. et 2, pourquoi pas s'il n'est pas possible de faire fonctionner la SDL 1.2 et que "convertir" le cour de la SDL 1.2 vers la SDL 2 n'est pas insurmontable pour le débutant que je suis...

    https://jeux.developpez.com/tutoriel...ide-migration/

    Merci par avance pour vos lumières.

  2. #2
    Membre confirmé Avatar de nl.smart
    Homme Profil pro
    ouvrier
    Inscrit en
    Avril 2019
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 154
    Points : 522
    Points
    522
    Par défaut
    #include "Politesse.h"

    Les SDL 1.2 et 2.0 fonctionnent en 64 bits sous linux, IDE Qt creator, voir ci-dessous le lien du poste qui a aidé à y parvenir :

    https://www.developpez.net/forums/d2...piler-ncurses/

    SDL 1.2 fichier .pro
    Code Qt-pro : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TEMPLATE = app
    CONFIG += console
    CONFIG -= app_bundle
    CONFIG -= qt
    LIBS += -L/usr/lib -lSDL
     
    SOURCES += \
            main.c

    SDL 1.2 main
    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
    /* Premier fonctionnement de la SDL_1.2
     * ok linux
     * 2020.01.17
    */
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    #include <ctype.h>   // pour la fonction toupper() qui transforme les lettres en majuscules, l'inverse tolower()
     
    #include <SDL/SDL.h>
     
    void pause(void);
     
    int main()
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
     
        SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
        SDL_WM_SetCaption(" MERCI A VOUS, LA SDL 1.2 FONCTIONNE :-) ", NULL);
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    SDL 2.0 fichier .pro
    Code Qt-pro : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TEMPLATE = app
    CONFIG += console
    CONFIG -= app_bundle
    CONFIG -= qt
    LIBS += -L/usr/lib -lSDL2
     
    SOURCES += \
            main.c

    SDL 2.0 main
    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
    /* Ma première application SDL2
     * ok linux
     * 2020.01.20
    */
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    #include <ctype.h>   // pour la fonction toupper() qui transforme les lettres en majuscules, l'inverse tolower()
     
    #include <SDL2/SDL.h>
     
    int main()
    {
        /* Initialisation simple */
        if (SDL_Init(SDL_INIT_VIDEO) != 0 )
        {
            fprintf(stdout,"Échec de l'initialisation de la SDL (%s)\n",SDL_GetError());
            return -1;
        }
     
        {
            /* Création de la fenêtre */
            SDL_Window* pWindow = NULL;
            pWindow = SDL_CreateWindow(" Ma première application SDL2.0 :-) ",SDL_WINDOWPOS_UNDEFINED,
                                                                      SDL_WINDOWPOS_UNDEFINED,
                                                                      640,
                                                                      480,
                                                                      SDL_WINDOW_SHOWN);
     
            if( pWindow )
            {
                SDL_Delay(3000); /* Attendre trois secondes, que l'utilisateur voit la fenêtre */
     
                SDL_DestroyWindow(pWindow);
            }
            else
            {
                fprintf(stderr,"Erreur de création de la fenêtre: %s\n",SDL_GetError());
            }
        }
     
        SDL_Quit();
     
        return 0;
    }
    Les 2 codes fonctionnent, seul problème qui se produit pour la SDL 1.2 comme pour la SDL 2.0, en plus de la fenêtre la console aussi s'ouvre, si quelqu'un avait une idée... merci d'avance :-)

    Des liens trouvés sur le site devraient permettre d'avancer quant au fonctionnement de la SDL 1.2 et 2.0 en 64 bits sous Windows avec Qt creator.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 288
    Points
    218 288
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Du coup, quel est le problème actuel ? Vous semblez dire que cela fonctionne
    Aussi, entre temps, vous avez changé de système d'exploitation. Quel système voulez-vous utiliser à la fin ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre confirmé Avatar de nl.smart
    Homme Profil pro
    ouvrier
    Inscrit en
    Avril 2019
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 154
    Points : 522
    Points
    522
    Par défaut
    #include "Politesse.h"

    Merci pour votre message, auquel vous trouverez cette réponse.
    Désolé d'avoir semé le doute avec mon second poste.

    Les SDL 1.2 et 2.0 fonctionnent sous linux en 64 bits avec l'IDE QT creator. Un bug apparaît avec les SDL 1.2 et 2.0
    En plus de la fenêtre la console s'ouvre elle aussi, les détails de ce bug sont donnés dans le second poste où un lien vous fera voir le bug en copie d'écran.

    Mon premier poste reste malheureusement d'actualité, je ne suis pas encore parvenu à installer et utiliser la SDL 1.2 sous Windows en 64 bits avec Qt creator.
    Est-il seulement possible d'installer la SDL 1.2 sur Windows en 64 bits?
    Les liens trouvés ne m'ont pas fait avancer, le débutant que je suis n'étant pas encore parvenu à installer une librairie sous windows pour Qt creator.

    Une autre librairie, telle que ncurses, me serait utile sous windows pour la console cette fois, voir le lien dans le second poste qui m'a poussé à utiliser ncurses.
    Peut-être privilégiez-vous PDCurses pour égayer et colorer la console sous windows ?
    ça serait sympa de réaliser en console sous win des animations comme le font voir le lien ci-après

    https://www.developpez.net/forums/d2.../#post11295104

    J'aurai plus de temps en fin de semaine pour me pencher sur la doc du site et avancer.

    Merci pour vos lumières.

    Post scriptum : j'ai un multi boot linux windows, j'utilise les 2 os et code donc pour les 2, à mes yeux ce qui fonctionne sur l'un doit aussi fonctionner sur l'autre, aucun ne sera délaissé.

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 288
    Points
    218 288
    Billets dans le blog
    117
    Par défaut
    Je ne comprends pas l'idée d'utiliser la SDL et ncurses en même temps, mais soit.
    Pour la console qui s'ouvre, c'est lié à votre CONFIG += console dans le .pro.
    Si vous utilisez ncurses sous Linux, alors vous devez utiliser pdcurses sous Windows. ncurses n'existe pas sous Windows, mais pdcurses est l'équivalent.

    Les SDL 1.2 et 2.0 fonctionnent sous linux en 64 bits avec l'IDE QT creator. Un bug apparaît avec les SDL 1.2 et 2.0
    En plus de la fenêtre la console s'ouvre elle aussi, les détails de ce bug sont donnés dans le second poste où un lien vous fera voir le bug en copie d'écran.
    La première phrase est toujours trouble. Vous dites que ça marche puis qu'il y a un bogue. Pouvez-vous me dire quel bogue/quelle erreur directement dans cette discussion, s'il vous plaît.

    Post scriptum : j'ai un multi boot linux windows, j'utilise les 2 os et code donc pour les 2, à mes yeux ce qui fonctionne sur l'un doit aussi fonctionner sur l'autre, aucun ne sera délaissé.
    Oui, pas de souci pour ça, c'est la base d'après moi.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre confirmé Avatar de nl.smart
    Homme Profil pro
    ouvrier
    Inscrit en
    Avril 2019
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 154
    Points : 522
    Points
    522
    Par défaut
    #include "Politesse.h"

    Merci pour votre réponse.

    Pas de panique, je ne compte pas utiliser la SDL et ncurses en même temps, je les destinerai à des usages différents.
    Seul hic de mon coté, les SDL et ncurses ne fonctionnent pour le moment que sous linux, ce qui est déjà pas si mal en soit, merci au forum, ça avance :-)

    Clarifions les faits :

    Linux

    Les SDL 1.2 et 2.0 fonctionnaient et affichaient simultanément une fenêtre et la console, la console n'avait rien à faire là.
    Suite à votre dernier message, et en supprimant du fichier .pro la ligne CONFIG += console les SDL 1.2 et 2.0 fonctionnent en affichant maintenant sous linux la fenêtre sans la console, encore merci à vous :-)

    Windows

    J'avais mis de coté pdcurses pour m'en servir ultérieurement, merci de m'avoir confirmé son usage sous win, je ne suis pas parvenu à installer et faire fonctionner cette librairie...

    Les SDL 1.2 et 2.0 continuent à afficher des erreurs lors de la compilation sous Windows :

    _ le dossier contenant les fichiers de la SDL sont copiés dans le dossier du projet
    _ la librairie est ajoutée via une fonction de Qt creator, clic droit sur le projet ouvert dans Qt creator, ajouter une bibliothèque (est-ce une bonne solution?)
    _ la librairie doit-être installée en dynamique ou statique? les erreurs sont les mêmes, voir détails ci-dessous.

    Ajout via Qt de la SDL 1.2, premier fichier
    Nom : 2020.01.28_ajout_bibliothèque_Qt_01.png
Affichages : 999
Taille : 21,0 Ko

    Nom : 2020.01.28_ajout_bibliothèque_Qt_02.png
Affichages : 692
Taille : 25,2 Ko

    Nom : 2020.01.28_ajout_bibliothèque_Qt_02_01.png
Affichages : 681
Taille : 16,4 Ko

    Ajout via Qt de la SDL 1.2, second et dernier fichier, seuls ces 2 fichiers peuvent être ajoutés, libSDL et libSDLmain
    Nom : 2020.01.28_ajout_bibliothèque_Qt_01.png
Affichages : 999
Taille : 21,0 Ko

    Nom : 2020.01.28_ajout_bibliothèque_Qt_03.png
Affichages : 675
Taille : 25,2 Ko

    Nom : 2020.01.28_ajout_bibliothèque_Qt_03_01.png
Affichages : 677
Taille : 15,1 Ko

    Ci-dessous le fichier .pro généré :

    Code Qt-pro : 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
    TEMPLATE = app
     
    CONFIG -= app_bundle
    CONFIG -= qt
     
    SOURCES += \
            main.c
     
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/SDL-1.2.15/lib/ -llibSDL.dll
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/SDL-1.2.15/lib/ -llibSDL.dlld
     
    INCLUDEPATH += $$PWD/SDL-1.2.15/include
    DEPENDPATH += $$PWD/SDL-1.2.15/include
     
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/SDL-1.2.15/lib/ -lSDLmain
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/SDL-1.2.15/lib/ -lSDLmaind
     
    INCLUDEPATH += $$PWD/SDL-1.2.15/include
    DEPENDPATH += $$PWD/SDL-1.2.15/include

    Le message d'erreur à la compilation :

    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
    21:52:11: Exécution des étapes pour le projet zzz_00_win_64...
    21:52:11: Configuration inchangée, étape qmake sautée.
    21:52:11: Débute : "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" -j8
    C:\Qt\5.13.1\mingw73_64\bin\qmake.exe -o Makefile ..\zzz_00_win_64\zzz_00_win_64.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
    C:/Qt/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug
    mingw32-make[1]: Entering directory 'D:/UTILITAIRES programmation/Apprentissage Langage C_2020.01.28_03/Projet_ZZZ_Temp_Qt Creator_win_64/build-zzz_00_win_64-Desktop_Qt_5_13_1_MinGW_64_bit-Debug'
    g++ -Wl,-subsystem,windows -mthreads -o debug\zzz_00_win_64.exe debug/main.o  -L"D:\UTILITAIRES programmation\Apprentissage Langage C_2020.01.28_03\Projet_ZZZ_Temp_Qt Creator_win_64\zzz_00_win_64\SDL-1.2.15\lib" -llibSDL.dlld -lSDLmaind   
    C:/Qt/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -llibSDL.dlld
    C:/Qt/Tools/mingw730_64/bin/../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lSDLmaind
    collect2.exe: error: ld returned 1 exit status
    mingw32-make[1]: *** [Makefile.Debug:65: debug/zzz_00_win_64.exe] Error 1
    mingw32-make: *** [Makefile:38: debug] Error 2
    mingw32-make[1]: Leaving directory 'D:/UTILITAIRES programmation/Apprentissage Langage C_2020.01.28_03/Projet_ZZZ_Temp_Qt Creator_win_64/build-zzz_00_win_64-Desktop_Qt_5_13_1_MinGW_64_bit-Debug'
    21:52:12: Le processus "C:\Qt\Tools\mingw730_64\bin\mingw32-make.exe" s'est terminé avec le code 2.
    Erreur lors de la compilation/déploiement du projet zzz_00_win_64 (kit : Desktop Qt 5.13.1 MinGW 64-bit)
    When executing step "Make"
    21:52:12: Temps écoulé : 00:01.
    Le code se trouvant dans le main :

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>                        	// gestion des couleurs sous windows
     
    #include <SDL/SDL.h>
     
    void pause(void);
     
    int main()
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
     
        SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
        SDL_WM_SetCaption(" MERCI A VOUS, LA SDL 1.2 FONCTIONNE SOUS LINUX :-) ", NULL);
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Vous remerciant par avance pour vos lumières.

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 288
    Points
    218 288
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    _ la librairie est ajoutée via une fonction de Qt creator, clic droit sur le projet ouvert dans Qt creator, ajouter une bibliothèque (est-ce une bonne solution?)
    En toute vérité, je ne connaissais pas cette fonction. Après, je ne pense pas que ce soit une mauvaise solution.

    Je tiens à vous conseiller ce tutoriel : Installation d'une bibliothèque dans un projet C/C++. Avec ça, vous devriez mieux voir ce que vous faites et pourquoi vous le faites.

    la librairie doit-être installée en dynamique ou statique? les erreurs sont les mêmes, voir détails ci-dessous.
    Dynamique. Statique, c'est lorsque la bibliothèque est incluse directement dans le programme. Cela a ses avantages, mais j'ose croire qu'il y a plus de désavantages.

    D'après les informations que vous me donnez, vous avez un compilateur en 64 bits (MinGW 7.3 64). Il faut donc la version 64 bits de la SDL. Sinon, il fera comme s'il ne trouve pas le fichier (il le voit, mais comme il a pas la bonne architecture, il va l'ignorer ).
    C'est l'erreur la plus probable que je vois.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Membre confirmé Avatar de nl.smart
    Homme Profil pro
    ouvrier
    Inscrit en
    Avril 2019
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 154
    Points : 522
    Points
    522
    Par défaut
    #include "Politesse.h"

    Merci pour votre lien, après avoir passé du temps dessus les messages d'erreurs persistent lors de l'installation de la SDL 1.2 sous Windows, ça coince à partir du paragraphe II. Configuration du projet...

    ci-dessous d'autres détails qui j’espère feront avancer les choses

    Le fichier .pro

    Code Qt-pro : 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
     
    TEMPLATE = app
     
    CONFIG -= app_bundle
    CONFIG -= qt
     
    SOURCES += \
            main.c
     
    win32: LIBS += -llibSDL.dll
     
    win32: LIBS += -lSDLmain
     
     
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/lib/ -llibSDL.dll
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/lib/ -llibSDL.dlld
     
    INCLUDEPATH += $$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/include
    DEPENDPATH += $$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/include
     
    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/lib/ -lSDLmain
    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/lib/ -lSDLmaind
     
    INCLUDEPATH += $$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/include
    DEPENDPATH += $$PWD/../../Projet_18_Page_293_SDL_Installation/SDL-1.2.15/include

    Le main

    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    #include <ctype.h>   // pour la fonction toupper() qui transforme les lettres en majuscules, l'inverse tolower()
     
    #include <SDL/SDL.h>
     
    void pause(void);
     
    int main()
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
     
        SDL_SetVideoMode(640, 480, 64, SDL_HWSURFACE); // Ouverture de la fenêtre
        SDL_WM_SetCaption(" MERCI A VOUS, LA SDL 1.2 FONCTIONNE :-) ", NULL);
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Les erreurs sont les suivantes :

    Nom : 01.png
Affichages : 586
Taille : 11,0 Ko

    Détail du main ligne 17 :

    Nom : 02.png
Affichages : 579
Taille : 5,5 Ko

    Nom : 03.png
Affichages : 605
Taille : 14,6 Ko

    Détail du préprocesseur ligne 30 :

    Nom : 04.png
Affichages : 590
Taille : 40,8 Ko

    Second détail du main ligne 12 :

    Nom : 05.png
Affichages : 620
Taille : 27,2 Ko

    Dernière erreur relevée :

    Nom : 06.png
Affichages : 626
Taille : 34,4 Ko

    Vous remerciant par avance pour vos lumières.

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 958
    Points
    32 958
    Billets dans le blog
    4
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  10. #10
    Membre confirmé Avatar de nl.smart
    Homme Profil pro
    ouvrier
    Inscrit en
    Avril 2019
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : ouvrier
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2019
    Messages : 154
    Points : 522
    Points
    522
    Par défaut
    #include "Politesse.h"

    Tout d'abord j'espère que vous allez bien en ces temps.

    Merci pour votre dernière réponse, malheureusement les choses ont peu avancées depuis, le lien et la modification du main n'en viennent pas à bout, sous linux pas de problèmes avec la sdl 1.2.

    Avec le code ci-dessous il subsiste un message d'erreur, les choses vont dans le bon sens :-)

    Le fichier .pro de qt creator

    Code Qt-pro : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    TEMPLATE = app
     
    CONFIG -= app_bundle
    CONFIG -= qt
     
    SOURCES += \
            main.c
     
    INCLUDEPATH += C:\SDL-1.2.15\\include
     
    LIBS += -LC:\SDL-1.2.15\\lSDLmain \lSDL

    Le main

    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
     
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <string.h>
    #include <ctype.h>   // pour la fonction toupper() qui transforme les lettres en majuscules, l'inverse tolower()
    #include <windows.h>
     
    #include <SDL/SDL.h>
     
    void pause(void);
     
    int main()
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
     
        SDL_SetVideoMode(640, 480, 64, SDL_HWSURFACE); // Ouverture de la fenêtre
        SDL_WM_SetCaption(" MERCI A VOUS, LA SDL 1.2 FONCTIONNE :-) ", NULL);
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Veuillez trouver ci-dessous le message d'erreur qui persiste, espérant que cela puisse faire avancer les choses

    Nom : 2020.04.20_sdl_1.2_erreur.png
Affichages : 533
Taille : 5,3 Ko

    Merci pour vos réponses.

  11. #11
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 136
    Points
    10 136
    Par défaut
    L'erreur est explicite , il ne trouve pas la SDL tout dépend donc où tu as mis la lib , le compilateur ne regarde que sur certain dossier par défaut.
    Il existe une option de compilation pour indiquer où se trouve les lib via -L

Discussions similaires

  1. SDL 2.0.5 sur windows 64 bits code:block
    Par jjeuvrey dans le forum Développement 2D, 3D et Jeux
    Réponses: 13
    Dernier message: 22/10/2017, 14h18
  2. Réponses: 7
    Dernier message: 23/04/2013, 00h44
  3. Qt Creator, Windows et UTF-8
    Par manudwarf dans le forum Qt Creator
    Réponses: 4
    Dernier message: 16/06/2010, 10h38
  4. Problemes SDL 1.2.13 avec Windows 7
    Par Outanapishtim dans le forum SDL
    Réponses: 4
    Dernier message: 28/05/2010, 02h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo