Bonjour,
je voudrais savoir comment on fait pour créer des projet SDL avec VisualC++.
Je sais le faire avec DevC++, mais je préfere ne pas faire de conneries avec VS en installant des truc un peu partout.
Si quelqu'un peut m'aider !
Bonjour,
je voudrais savoir comment on fait pour créer des projet SDL avec VisualC++.
Je sais le faire avec DevC++, mais je préfere ne pas faire de conneries avec VS en installant des truc un peu partout.
Si quelqu'un peut m'aider !
tu telecharge la version VC6 de SDL (partie Win32).
Tu copies SDL.lib et SDLmain.lib dans le dossier lib de visual (ici normalement : C:\Program Files\Microsoft Visual Studio\VC98\Lib).
dans le dossier include, tu créés un dossier SDL et tu y met ce qu'il y a dans le dossier include de l'archive.
Il te reste a copier la dll dans system32 de windows et c'est bon pour l'install![]()
ok, merci
au fait, j'ai trouvé un tuto pour SDl dans vos page, et c'est indiqué comment s'en servir pour DevC++, ce serais bien de mettre aussi por VS, ça en aiderais plus d'un à mon avis.
Ensuite pour lancer un nouveau projet en sdl, tu choisis Win32 application puis empty project.
dans les propriétés du projet (setting), dans l'onglet C/C++ tu mets la categorie(category) à Code generation et tu met Multithreaded DLL pour Use "run-time library".
dans le l'onglet link tu copies cette ligne (dans le module "Object/Library" après toutes les librairies):
il te reste plus qu'a creer ta sourceSDL.lib SDLmain.lib
edit : ok j'y penserais![]()
Salut !
J'ai un problème pour l'installation de la SDL sous Visual C++ 2005.
J'ai respecté toutes les consignes mais je n'ai pas trouvé catégorie (dans C/C++ : Avancé, il y a bien compiler comme code C++), et pour l'onglet link, j' ai ajouté "SDL.lib SDLmain.lib" dans Editeur de Liens : Entrée : Dépendances suplémentaires.
Si quelqu'un sait l'installer, je veux bien son aide.
PS : à l'édition de liens, cela renvoiefatal error LNK1561: le point d'entrée doit être défini
As-tu mis la bibliothèque runtime comme DLL multithread ?
Dans les propriétés du projet -> C/C++ -> Bibliothèque runtime. Normalement ça devrait fonctionner avec ça.
Oui j'ai bien dll multithread en option.
Et la dll est bien dans system32 du dossier windows.
Edit : Le problème vient peut-être des bibliothèques car je les ai mises dans Editeur de Liens : Entrée : Dépendances suplémentaires puisque je ne savais pas où les mettre sinon.
Oui c'est juste pour dépendances supplémentaires.
Sinon montre un peu ton code... Tu as bien un
déclaré de cette manière ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int main(int argc, char** argv) { ... return 0; }
Oui en fait j'ai copié le code source du morpion pour apprendre à utiliser la SDL, l'exemple qui est sur le site http://fearyourself.developpez.com/t...morpion/part1/
J'ai copié le code source situé tout en bas de la page.
Voici un lien direct : http://fearyourself.developpez.com/t...hiers/Main.cpp
Le code est donc apparemment de la bonne forme.
Edit : Je me suis aperçu que si je supprime le fichier SDL.dll de system32, j'ai toujours la même erreur, donc peut-être que la dll n'est pas trouvée. Je n'ai pas trouvé de moyen de donner l'emplacement des dll.
Ce n'est pas un problème avec la DLL. Cela poserait problème à l'exécution et non à l'édition des liens. Là tu as un problème avec tes bibliothèques (les *.lib). Vérifie que le linker y a accès, que tu les a mis dans le bon dossier, qu'ils y soient vraiment...
Les bibliothèques sont bien dans le dossier VC\lib et pour le linker, j'ai mis les bibliothèques dans Propriétés : Editeur de liens : Dépendances supplémentaires en copiant(je ne savais pas où les mettre sinon).SDL.lib SDLmain.lib
Apparemment, il y a bien accès car si je modifie le nom (par exemple SD.lib), il m'annonce bien qu'il n'a pas réussi à ouvrir la bibliothèque (alors que là, il ne me le dit pas).
Ce qui par contre est étonnant est que si je ne copie pas la ligne précédemment citée, j'ai la même erreur (fatal error LNK1561: le point d'entrée doit être défini), ce qui signifie peut-être que les bibliothèques ne doivent pas se déclarer ici mais je ne vois pas où sinon???
Pour info, les fichiers téléchargés sur le site de la SDL sont ceux de VC6 (y a rien d'autre), est-ce que quelqu'un a bien fait marché la SDL pour Visual C++ 2005 ?
Edit : Sinon le fait de mettre DLL multithread ne pose-t-il pas de problèmes de compatibilité avec le programme (qui je le rappelle est copié du site) : http://fearyourself.developpez.com/t...hiers/Main.cpp
J'ai essayé de recompiler les dll SDL et SDLmain (même si ça sert sûrement à rien) à partir des fichiers source.
J'ai installé DirectX SDK et j'ai maintenant plein d'erreurs du typeLes bibliothèques et include sont bien insérés (installés automatiquement dans les répertoires de Visual C++ dans option).SDL_dibevents.obj : error LNK2019: symbole externe non résolu __imp__DefWindowProcA@16 référencé dans la fonction _DIB_HandleMessage
Pour le problème précédent, ce simple programme
ne fonctionne pas et me renvoie l'erreur citée dans un message précédent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include <SDL\SDL.h> int main(int argc, char **argv) { return 0; }
Je pense que la meilleure solution qu'il me reste maintenant est Code Blocks
Edit : ça marche maintenant !
J'ai désactivé plein d'options dans les propriétés de mon projet et ça veut maintenat bien marcher. Ce serait sympa de faire un tuto pour l'installation sous visual car quelquefois c'est difficile à installer (malgré le respect des consignes fournies sur le site de la SDL)!!
Voici donc la solution !
Pour faire fonctionner la SDL, il faut aller dans Editeur de liens : Système : Sous-système et mettre console ou windows.
Pour les simples applications console, il n'y a rien à paramétrer.
N'oubliez pas de rajouter donc cette précision lorsque vous expliquerez comment installer SDL sous VC, ça pourra aider![]()
Tu avais quoi pour cette option ? Si tu crées un projet C ou C++ classique tu devrais toujours avoir Console ou Windows.Pour faire fonctionner la SDL, il faut aller dans Editeur de liens : Système : Sous-système et mettre console ou windows.
Ben par défaut, dans cette option j'ai Non défini.
C'est sûrement parce que lorsque je crée un nouveau projet, je mets projet vide. Il faut dire que dans Visual C++ 2005, il n'y a quasiment aucun modèle, le seul modèle est application console win32, j'aurais dû prendre le réflexe de partir de celui-là alors.
Edit : Sinon c'est normal que j'ai aucun autre modèle installé comme les MFC par exemple![]()
Si tu as la version Express, tu as le strict minimum. Pas de MFC, pas de Plateform SDK pour faire de la prog Win32.
Bonjour, j'utilise Microsoft Visual Studio.NET 2003. J'ai suivi les instructions pour installer SDL, mais je n'arrive pas à spécifier les options dans les propriétés du projet (j'ai créé un projet Win32 vide).
Si vous savez comment faire, çà m'intéresse,
Erwan
Envoyé par loka
C'est-à-dire ? Tu ne les trouves pas ?mais je n'arrive pas à spécifier les options dans les propriétés du projet (j'ai créé un projet Win32 vide).
Sinon les problèmes de compilation de la bibliothèque SDL m'impressionnent car lorsque l'on a des erreurs seulement lors de l'édition de liens, par exemple du typeça signifie généralement qu'il manque une bibliothèque.error LNK2019: symbole externe non résolu ... référencé dans la fonction ...
Or, pour compiler la SDL, un fichier solution est fourni et donc tous les paramètres sont (logiquement) correctement réglés et toutes les bibliothèques sont ajoutées dans les propriétés. S'il en manquait une, on serait averti et donc, lorsque l'on arrive à des messages qui ne signalent pas qu'il est impossible d'en ouvrir une (introuvable), ça signifie qu'il y a un problème dans les propriétés de l'objet.
Alors pourquoi la SDL ne voudrait pas se compiler si toutes les propriétés sont déjà réglées et que l'on a pas de message d'erreur du type "impossible d'ouvrir ..." ???
J'en profite pour mettre ma question dans ce post![]()
J'ai Express 2005, j'ai mis la SDK Win32 puis j'ai suivis les instructions et ça marche. Par contre j'arrive pas à virer la console lors de l'execution du programme. J'ai essayé de retirer le _CONSOLE dan sles options mais rien.
Quelqu'un à une idée?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager