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 :

Installation SDL et fichier SDL.sln


Sujet :

SDL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut Installation SDL et fichier SDL.sln
    Je débute, je débute...

    Mais le fait est que je n'arrive pas à installer SDL (Ah ! le jour où j'arriverai à installer une librairie C sera pour moi un grand jour...). Je regarde des FAQ, on me dit d'aller sur le site http://www.libsdl.org/download-1.2.php.

    Jusque là c'est simple. Je regarde, il faut télécharger SDL-devel-1.2.11-VC6.zip car j'utilise VC6. Trop simple. Je télécharge. On me dit de décompresser, je sais faire. On me dit pas de runtime pour VC6, ok pas de runtime. Dans le dossier un petit fichier en html, où je vois écrit :

    Now that it's unzipped, go into the VisualC directory that is created, and double-click on the VC++ file "SDL.dsw" ("SDL.sln"). This should open up the IDE.

    Et voilà, le mal est fait. Il n'y a pas de fichier SDL.dsw ni SDL.sln dans le répertoire. J'ai regardé partout, il n'y a pas.

    Je me dis tant pis, toute façon, à chaque fois j'ai un problème, je fais comme si j'avais rien vu, je crée un projet, je mets tous les includes de GCC en option d'include supplémentaires du projet, je mets également les librairies. Mais non ça marche pas :

    main.obj : error LNK2019: unresolved external symbol _SDL_WM_SetCaption referenced in function _initSDL

    Et plein d'autres.

    S'il vous plait quelqu'un peut me dire où je peux trouver ce fichu SDL.sln/dsw ? Si c'est windows qui l'a mangé, si il n'est vraiment pas dans le fichier zip du site, s'il a pris ses vacances en juillet ?

    Je craque...

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    C'est pas la peine de recompiler la SDL, les fichiers bibliothèques et en-têtes sont déjà fournis (dans les répertoires "lib" et "include")

    Par ailleurs tu devrais songer à utiliser un EDI plus récent, VC6 c'est un peu (beaucoup) obsolète.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    J'ai suivi exactement ce qu'il y a écrit sur le "site du 0".

    Devine quoi... ça marche pas.

    LINK : fatal error LNK1561: entry point must be defined

    Je regarde sur le site microsoft :

    L'éditeur de liens n'a pas trouvé de point d'entrée. Il est possible que vous ayez tenté de créer un lien en tant que DLL, auquel cas vous devez utiliser l'option /DLL. Il se peut également que vous ayez oublié de spécifier le nom du point d'entrée ; créez alors le lien avec l'option /ENTRY.

    Sinon, vous devez inclure une fonction main, wmain, WinMain ou wMain dans votre code.

    Si vous utilisez LIB et souhaitez générer une .dll, cette erreur pourrait être due à la fourniture d'un fichier .def. Dans ce cas, retirez le fichier .def de la génération.

    J'ai un élément main : int main(int argc, char *argv[])

    J'ai même que ça, comme je fais un test.
    C'est quoi un fichier .def ? Je n'ai nulle part demander d'en générer un.

    Et je ne peux pas utiliser plus avancé que VC 6, il me faudrait pour cela une licence je pense. Et puis de toute façon je n'ai aucun droit sur cet ordi...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Bon bah finalement en ajoutant vilainement un /DLL comme c'est écrit, ça compile...

    Et là je démarre un programme de test "Enable to start program..."

    Encore raté.

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    /DLL, c'est pour créer une DLL.

    J'ai l'impression que tu as mis le boxon dans les options de ton projet, tu as fait quoi exactement ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    J'ai recommencé une première fois à 0, en suivant les instructions à la lettre. Même problème.

    J'ai recommencé une seconde fois, en lui disant de me créer un fichier win32. Cette fois j'ai juste ajouté les répertoires de lib d'include et le nom des libs. Après un peu de débuggage avec win 32, une ligne de commande :

    #ifdef __cplusplus
    extern "C"
    #endif

    que je ne sais même pas si ça sert à quoi que ce soit...
    En copiant le contenu de mon ancien main dans le

    int APIENTRY _tWinMain(HINSTANCE hInstance,
    HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine,
    int nCmdShow)

    avec un return avant tout le bazar que m'a crée VC,

    Eh bien ça marche :/

    Donc problème résolu, mais je ne sais pas pourquoi.

    EDIT : par contre c'est extrêmement laid.

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Nan, c'est clair que t'as pas besoin de toutes ces bidouilles.

    1/ Crée un projet de type "Application Windows" (pas "Console").
    2/ Ajoutes-y un fichier source avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <SDL/SDL.h>
     
    int main()
    {
        return 0;
    }
    3/ Dans les options de ton projet, partie "Edition de liens" (ou "Link"), ajoute SDL.lib et SDLmain.lib.

    Ca devrait compiler et lier sans problème, si les chemins de ton compilo sont bien paramétrés.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 34
    Points : 24
    Points
    24
    Par défaut
    Oui, ça marche aussi. Mais ce que je ne comprends pas, c'est qu'en lui demandant un projet "général", vide, ça ne marche pas. Il doit y avoir une option par défaut en "application Windows" qu'il me manquait en "général".

  9. #9
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    J'utilise VC6 aussi (je ne suis donc pas le seul )
    et j'ai réussi a integrer SDL dans mon projet, je me suis fais un fichier doc a ce propos dans lequel j'ai collecté les info et j'ai mise les avec les impr ecran qui vont bien avec
    (je l'envoie par email a ceux qui me le demanderons en PM - domage qu'on ne puisse pas l'uploader ici)
    je vais quand même mettre l'essentiel ici :
    ( a faire en mode DEBUG et RELEASE)

    dans les options du projet :

    * In order to use SDL, we need to set up some project settings. So, go to 'settings..' in the 'project' menu. Select 'C/C++ tab', category Code Generation. Under 'Use run-time library', select 'Debug Multithreaded DLL'.

    * Next, select 'Preprocessor' as category, still in the 'C/C++' tab, and add "..\SDL\include\" (without quotes) in the 'Additional include directories' field.

    * Then, select the 'Link' tab. Add "SDLmain.lib sdl.lib" (again without quotes) at the beginning of the 'Object/library modules' list.

    * Still in the 'Link' tab, select 'Input' category and add "..\SDL\lib\" (yes, without quotes) to the 'Additional library path' field.

    Next, copy SDL.dll from SDL\lib to the project directory.

    pour sdl_image et sdl_ttf il faut faire de même (copie DLL et ajout de xxx.lib)
    je me suis fait un fichier unique a inclure qui s'apelle sdlstuff.h que tu trouvera en faisant une recherche dans ce forum, dans ce fichier il y a normalement un lien vers une page en francais qui explique aussi comment installer proprement sdl. (ca fait un peu "jeu de piste" là)
    d'ailleur, a remarquer que bien souvent il faut combiner 2 ou 3 tuto pour faire un installation "propre" (par exemple l'utilisation de "#pramga comment" est a mon sens plus de la bidouille, il renseigner les propriete du projet correctement et on n'en a pas besoin, link/general/Object)

    voilà, bon courage, si t'as des questions...

    PS :
    Citation Envoyé par Laurent Gomila
    1/ Crée un projet de type "Application Windows" (pas "Console").
    En "console" ca marche aussi tres bien hein, je veux dire c'est pas interdit moi perso je n'utilise que ca, car ca me permet de faire des fprintf(stdout.. pour le debug et puis qnad le projet est fini, je passe en plein ecran et comme ca on ne vois pas la console .

  10. #10
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Citation Envoyé par Gouhouf
    Oui, ça marche aussi. Mais ce que je ne comprends pas, c'est qu'en lui demandant un projet "général", vide, ça ne marche pas. Il doit y avoir une option par défaut en "application Windows" qu'il me manquait en "général".
    Je ne me rappelle pas ce qu'est un projet "Général" sous VC6, mais ça ne m'étonne pas qu'il manque des choses. En général on crée toujours un projet Console (pour avoir la console) ou un projet Application Windows (pour pas avoir la console).

    En "console" ca marche aussi tres bien hein, je veux dire c'est pas interdit moi perso je n'utilise que ca, car ca me permet de faire des fprintf(stdout.. pour le debug et puis qnad le projet est fini, je passe en plein ecran et comme ca on ne vois pas la console .
    Tout à fait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SDL 1.2] Installation difficile de la SDL 1.2
    Par Leviath4n dans le forum SDL
    Réponses: 2
    Dernier message: 03/10/2014, 14h42
  2. Installation Wesnoth problème configure/SDL
    Par Niktou dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 18/11/2005, 19h32
  3. installation mysql linux: fichier my.cnf
    Par ben23 dans le forum Installation
    Réponses: 1
    Dernier message: 24/10/2005, 13h25
  4. [SDL] Integration fenetre SDL dans fenetre C# ?
    Par salammbo dans le forum OpenGL
    Réponses: 3
    Dernier message: 07/02/2005, 09h47
  5. [LINUX][INSTALL]Error de fichier trop court
    Par silvermoon dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 06/08/2004, 16h17

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