Installation SDL sous Visual C++ 6

Résolu
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011 - 4 déc. 2005 à 23:38
 gaudon - 24 juil. 2012 à 15:12
Salut,

Quelqu'un pourrait-il m'indiquer la démache à suivre pour installer la SDL sous Visual C++ 6 car je n'y arrive pas.



Merci
Turok

33 réponses

MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 2
6 déc. 2005 à 21:55
bon en fait, c'est une histoire de link...

c'est que les fonctions enumérées sont déclarées dans les deux lib.

le truc c'est de rajouter un "/NODEFAULTLIB:msvcrt.lib"

dans le menu Projet, settings. une fenetre s'affiche avec à gauche la configuration (debug, release ou les 2).

tu choisit donc la configuration dans laquelle ca t'a fait l'erreur et dans la partie droite, tu vas dans l'onglet link.

en bas de cet onglet, il y a une zone de texte multiligne. dans cette zone (a la fin) tu colle le /NODEFAULTLIB....

ensuite ca devrait fonctionner.



@++
3
MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 2
5 déc. 2005 à 09:01
c'est tres simple,

tu vas sur le site de SDL dans la partie download version 1.2 et tu télécharges le develloppement kit pour win32.

ensuite, tu décompresses l'archive et tu ouvre le workspace (SDL.dsw) qui se trouve dans le dossier visualC.

tu compiles et là tu as dans les dossier SDL et SDLmain les lib SDL.lib
et SDLmain.lib. ces deux fichiers devront etre copiés dans le dossier
\Microsoft Visual Studio\VC98\Lib\ .

puis dans l'archive décompressée, il y a un dossier include : tu copies
tout les fichiers de ce dossier vers \Microsoft Visual
Studio\VC98\Include\.



pour finir, lorsque tu crées un projet utilisant SDL, il suffit de faire comme ca :

tu mets au début de ton fichier .c le code suivant :

#include <SDL.h>

puis

#ifdef WIN32

#pragma comment(lib, "SDL.lib")

#pragma comment(lib, "SDLmain.lib")

#endif

qui va servir au linker pour utiliser les lib de sdl.

ensuite, le truc a ne pas oublier, c'est de rajouter dans le dossier du
projet le fichier SDL.dll qui se trouve dans le dossier SDL du projet
compilé precedement ( pour que ca marche quand on execute sous l'ide).
puis de le mettre egalement dans le dossier du .exe ( pour que ca
marche quand c'est une execution indépendante.)



voilà, j'ai fait le tour...



pour info, ya de tutoriaux sur les diverses fonctions de sdl dans le dossier doc de l'archive décompressée (en html)



@++
0
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011
5 déc. 2005 à 13:21
Le problème c'est que je ne trouve pas ce fichier "SDL.dsw".

J'ai télécharger "SDL-devel-1.2.9-VC6.zip", je le décompresse, j'ouvre
le sous dossier "SDL-1.2.9", et la je vois 3 dossiers
"docs","includes",et "lib", mais pas de dossier "VisualC" ni de fichier
"SDL.dsw".

Turok
0
MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 2
5 déc. 2005 à 21:30
j'ai oublié de dire que le dossier visualC est un zip qu'il faut decompresser...

dsl



@++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011
6 déc. 2005 à 06:24
Zip ou pas je ne le vois pas.

Turok
0
MrdJack Messages postés 146 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 8 mars 2008 2
6 déc. 2005 à 08:47
bon, je viens de reverifier sur le site et

apparament, ca a changé.

dans develloppement librairies, il y a SDL-devel-1.2.9-VC6.zip
dedans, il y a deja les fichiers lib ainsi que la dll et les includes. en gros tout est deja compilé.

ensuite, il suffit de suivre les opérations ecrites un peu plus haut en copiant les fichiers au bon endroit.



@++
0
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011
6 déc. 2005 à 16:54
Merci pour les explications, mais maintenant j'ai des erreurs de compil.

J'ai créé un projet win32, avec un fichier cpp



Voici le prog :

#include <stdlib.h>

#include <SDL.h>



#ifdef WIN32

#pragma comment(lib, "SDL.lib")

#pragma comment(lib, "SDLmain.lib")

#endif







int main( int argc, char *argv[ ] )

{

return 0;

}



Et voici les erreurs:

--------------------Configuration: Essai - Win32 Debug--------------------

Linking...

msvcrt.lib(MSVCRT.dll) : error LNK2005: _exit already defined in LIBCD.lib(crt0dat.obj)

msvcrt.lib(MSVCRT.dll) : error LNK2005: _strncpy already defined in LIBCD.lib(strncpy.obj)

msvcrt.lib(MSVCRT.dll) : error LNK2005: _fclose already defined in LIBCD.lib(fclose.obj)

msvcrt.lib(MSVCRT.dll) : error LNK2005: __isctype already defined in LIBCD.lib(isctype.obj)

LIBCD.lib(crt0init.obj) : warning LNK4098: defaultlib "msvcrt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library

Debug/Essai.exe : fatal error LNK1169: one or more multiply defined symbols found

Error executing link.exe.



Essai.exe - 5 error(s), 1 warning(s)


J'espère que je n'abuse pas de ta patiente, car je débute à la fois en C++, et en SDL.


Turok
0
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011
7 déc. 2005 à 06:53
Je te remercie, ca marche enfin, j'était presque pret à abandonner Visual.



Turok
0
kegi Messages postés 164 Date d'inscription jeudi 23 octobre 2003 Statut Membre Dernière intervention 25 août 2008
13 mars 2006 à 08:01
Salut
je n'arrive pas à comprendre ! je suis sous Code::Block, j'ai installer SDL, ensuite j'ai dézippé et copier dans le dossier include (SDL-1.2.9/) Quand j'ouvre Code::Block, je clique sur SDL, il m'affiche:

#ifdef __cplusplus
#include <cstdlib>
#else
#include <stdlib.h>
#endif
#include <SDL/SDL.h>

int main ( int argc, char** argv ) [...]

lors de la compilation, il y a des dizaines d'erreurs !
je ne comprend pas (et mon compilateur non plus) comment il va aller chercher SDL/SDL.h si il n'est même pas dans un dossier qui s'appelle SDL ! j'ai essayé de changer le nom du dossier pour SDL mais j'ai multiplié le nombre d'erreurs de compilation !! Au secour ! lol

Cordialement,
Kevin (kegi@hotmail.com)
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
4 août 2006 à 18:11
Tu prend le dossier que tu a téléchargé et décompressé. Dedans, tu copie le contenu du répertoire "includes". Tu va dans le dossier de CodeBlocks, tu ouvre le dossier include et dedans, tu crée un répertoire appellé "SDL". Tu colle tes fichiers dedans, et normalement ça devrait marcher.

//Libère ma mémoire que j'ai utilisé
this->GetCurrentConversation()->FreeAllocatedMemory(REASON_UNUSED);
0
bobydjongo Messages postés 1 Date d'inscription mardi 26 décembre 2006 Statut Membre Dernière intervention 26 décembre 2006
26 déc. 2006 à 12:40
Bonjour à vous tous et joyeux noel,

J ai vraiment besoin de votre aide....j'essaie deja depuis des jours à télécharger SDL-devel pour le jeu mario que je suis en train de programmer.....mais j ai comme l impression que le site officiel de SDL n existe plus je n arrive pas a ouvrir leur site.

Je vous pris de bien vouloir m aider et si possible m envoie tous les dossier  "doc", .h, .lib bref tout ce dont j ai besoin.

Je vous remercie d'avance
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
26 déc. 2006 à 12:44
En effet, leur site répond au pings et pas aux requètes HTTP... Je me demande ce qui a pu se passer. Enfin bref est-ce que tu peut m'envoyer ton adresse mail par MP, que je te maile tout ça ?

PS: J'ai la version pour VC++ 6.0

<hr size="2" width="100%" />Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
0
cs_bibimoi Messages postés 7 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 25 mai 2007
23 mai 2007 à 19:22
Bonjour à tous j'ai bien suivi vos instruction pour installer SDL sous visual C++ mais malheureusement j'ai de nombreuses erreurs lorsque je compile en voici quelques unes:
Jeu.obj : error LNK2019: symbole externe non résolu _SDL_FreeSurface référencé dans la fonction "public: __thiscall Jeu::~Jeu(void)" (??1Jeu@@QAE@XZ)

Main.obj : error LNK2001: symbole externe non résolu _SDL_FreeSurface

Jeu.obj : error LNK2019: symbole externe non résolu _SDL_SetColorKey référencé dans la fonction "public: bool __thiscall Jeu::init(void)" (?init@Jeu@@QAE_NXZ)

Jeu.obj : error LNK2019: symbole externe non résolu _SDL_LoadBMP_RW référencé dans la fonction "public: bool __thiscall Jeu::init(void)" (?init@Jeu@@QAE_NXZ)

Je vous remerci d'avance de votre aide.
0
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011
23 mai 2007 à 20:54
J'ai l'impression que c'est une erreur de link.
As tu bien mis :
#ifdef WIN32
  #pragma comment(lib, "SDL.lib")
  #pragma comment(lib, "SDLmain.lib")
#endif
dans le programme?

Turok
0
cs_bibimoi Messages postés 7 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 25 mai 2007
24 mai 2007 à 11:02
ah merci beaucoup en effet je n'avait pas mis ces lignes mais maintenant il me dit SDL.dll est introuvable.
il faut pas que dans la platform SDK j'indique ou SDL se trouve? si oui vous pouvez m'expliquer comment on fait.
Merci beaucoup de votre aide.
0
cs_bibimoi Messages postés 7 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 25 mai 2007
24 mai 2007 à 11:07
non enfaite desolé je vien de me rendre compte que SDL.dll n'etait pas dans le repertoire de mon projet donc ça marche mais maintenant il me dit que MSVCR80.dll est introuvable
donc voila j'ai chercher un peu partout j'ai rien trouvé qui ressemblais à ça je vous remerci pour votre aide
0
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011
24 mai 2007 à 11:47
<hr size="2" width="100%" />
bon en fait, c'est une histoire de link...
c'est que les fonctions enumérées sont déclarées dans les deux lib.
le truc c'est de rajouter un "/NODEFAULTLIB:msvcrt.lib"
dans le menu Projet, settings. une fenetre s'affiche avec à gauche la configuration (debug, release ou les 2).
tu choisit donc la configuration dans laquelle ca t'a fait l'erreur et dans la partie droite, tu vas dans l'onglet link.
en bas de cet onglet, il y a une zone de texte multiligne. dans cette zone (a la fin) tu colle le /NODEFAULTLIB....
ensuite ca devrait fonctionner.<hr size="2" width="100%" />Réponse de MrdJack qui a marché pour moi.

Siça ne marche toujours pas, essaye également de rajouter
    #ifdef WIN32
        #include <windows.h>
    #endif

Turok
0
cs_bibimoi Messages postés 7 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 25 mai 2007
24 mai 2007 à 12:49
ben je ne trouve pas setting dans projet c'est ecrit en français dans mon logiciel et j'ai un peu tous essayer et je ne trouve rien qui correspond a ta description.
Merci enormement de ton aide
0
cs_Turok Messages postés 78 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 3 décembre 2011
24 mai 2007 à 14:04
Ton logiciel est en français, ce n'est donc pas VC++6.
Commence par donner ta version de Visual C++ parce que suivant les versions c'est pas forcement identique.

Turok
0
cs_bibimoi Messages postés 7 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 25 mai 2007
24 mai 2007 à 17:00
moi c'est visual c++ 2005 expresse Edition
0
Rejoignez-nous