J'utilise Code blocks ainsi que la SDL est j'ai réussit à le faire marcher en utilisant vos indications, donc pour un projet que je créer moi même.
Ce que je voudrais savoir maintenant c'est comment lier mon projet à mon dossier SDL après l'avoir créer.
En effet je travaille sur un projet informatique avec d'autres gens qui utilisent SDL aussi. Notre projet est open source (git hub) et je le récupère donc de là et le projet est déjà créer sans que j'ai pu le lier à mon dossier SDL, du coup ça ne marche pas et je ne sais pas comment faire, j'ai chercher dans les "build option" et autre, mais je trouve pas ou on peut indiquer la "base"...
Je n'ai pas créé le projet, je l'ai récupéré via l'application de git hub pour windows...
Oui c'est ça, comment je fait pour pouvoir utiliser la SDL dans ce projet que je n'ai pas créé moi même? La ça m'affiche une erreur sur la ligne ou j'inclus la SDL.
Tu nous parles d'un projet github mais tu ne nous donne pas le lien. Tu nous parles aussi d'une erreur mais si tu nous ne la donne pas (en plus du lien github pour avoir le code), ça va être difficile de t'aider
Sinon, une règle général : indique le chemin vers la(les) bibliothèque(s) à lier. Build options -> Search directories -> Linker. Clique sur "add" puis indiques le chemin vers le fichier SDL.a. De même pour les fichiers .h : Build options -> Search directories -> Compiler. Clique sur "add" et indiques le chemin vers les headers SDL. Ce sont des dossiers qu'il faut indiquer, pas des fichiers
- Edité par Escargotine 18 décembre 2014 à 18:44:38
Je rencontre également un problème pour la SDL. J'arrive à créer le projet sous CodeBlocks, j'ai bien le code de départ qui s'affiche. Mais quand j'essaye de le compiler, il me note une erreur à la ligne #include <SDL/SDL.h>, en me disant qu'il ne trouve pas le fichier. Pourtant, j'ai bien copié le fichier SDL.dll dans le dossier qui contient mon projet comme indiqué dans le tutoriel. A vrai dire, j'en ai tellement marre qu'à force, je l'ai copié dans tous les dossiers concernant de près ou de loin la SDL...
Je précise que je suis sous Windows 7 64 bits, et j'ai bien vérifié d'avoir téléchargé les bons fichiers compatibles 64 bits.
Après avoir fait ça mon "main" est en C++. Qu'est ce que je dois faire pour qu'il soit en C? Merci!
A priori, le renommer en .c
LittleWhite a écrit:
Oui, changer l'extension.
Directement dans Code::Blocks.
J'ai le même problème, j'ai beau chercher, je n'arrive pas à changer l'extension directement dans Code::Blocks, et si on la change en fermant le projet et en allant renommer le fichier dans le dossier du projet, il devient illisible alors si quelqu'un peut m'aider, parce que j'aimerai essayer de faire le programme du Pendu du cours sur le langage C avec une interface graphique où on aurait l'image du bonhomme qui se pend au fur et à mesure, et un menu où on pourrait changer la difficulté, voir les meilleurs scores et d'autres trucs. Et j'ai pas envie d'apprendre le langage C++ pour faire ce programme, c'est prévu que je l'apprenne aussi mais plus tard, quand je maîtriserai suffisamment le langage C.
Sinon, j'ai pas de problème pour faire fonctionner la bibliothèque, c'est juste que j'aimerai l'utiliser en C.
EDIT : Je viens de trouver une solution, j'ai ajouté un nouveau fichier au projet (que j'ai pu appeler main.c) et j'ai supprimé main.cpp du projet et du dossier du projet, ça devrait fonctionner je pense, sinon pas de chance pour vous, vous me reverrez dans le coin avec mes questions.
@nenettre35 : C'est exactement ce que je t'aurais conseillé de faire. Bonne chance pour la suite. Mais si tu as un problème qui concerne SDL mais pas l'installation de la SDL, crée un nouveau topique où tu expliques ton problème.
J'ai bien suivit le tuto, mais j'ai toujours un problème quand je compile et lance mon projet SDl ('build and run' ou F9) : la console s'ouvre sans rien dedans et aucune fenêtre à l'horizon !
Est-ce que l'un d'entre vous aurait une idée d'où vient le problème ?
Si tu utilises SDL 1.2.x, Code::Blocks te demandera (en ayant choisi de créer un projet SDL, à partir du template fourni) d'indiquer le chemin vers ton dossier SDL (dans le répertoire de Code::Blocks normalement). L'as-tu fait ?
Pourrais-tu poster ton code entre balises (le petit bouton </>) s'il te plait. Il y a plusieurs erreurs dans ton code.
L'erreur qui s'affiche ne correspond pas à une erreur dans ton code, mais un problème dans l'édition des liens (le linker, qui rassemble les fichiers compilés (des fichiers.c compilés en .o ou des bibliothèques, en .dll sur Windows) en un fichier binaire). Concrètement, il cherche la définition de la fonction SLD_main mais ne la trouve pas. Je vais pas t'expliquer en détail parce que j'avoue ne pas vraiment savoir, mais SDL-1.2-x fait une sorte de bricolage avec la fonction main.
Dans Project -> Build Options, onglet "Search direcotires". Dans le sous-onglet "Compiler", indique le dossier "include" dans le dossier SDL-1.2.x, dans le sous-onglet "Linker", indique le dossier "lib".
Tu peux aussi indiquer directement les fichiers .dll dans l'onglet "Linker settings" : SDL.a et SDL_main.dll.a si je me souviens bien. Enfin, si t'es sur Windows.
En ce qui concerne le code, édite ton poste et mets le code dans une balise code (bouton </>). Il manque des accolades pour ton 1er switch et tu ne libères pas la mémoire pour tes SDL_Surface *.
PS : JE ME SUIS TROMPÉ : ce n'est pas les .dll que l'on peut indiquer dans l'onglet "Linker settings", mais les fichiers .a.
- Edité par Escargotine 10 octobre 2015 à 21:57:05
Bonjour ! Encore un noob qui n'arrive pas a paramétrer comme il faut SDL.
Ma config : Windows 8 64bits, Code Blocks 13.12 installe en "full" avec Mingw-w64 installe dans program filesx86/codeblocks/, version \i686-5.2.0-posix-dwarf-rt_v4-rev0.
Le petit test hello world fonctionne, donc a priori mon paramétrage est correct pour compiler du C.
J'ai telecharge SDL 1.2.15, j'ai deplace le dossier SDL-1.2.15 dans program files x86\codeblocks a cote de mingw-w64 et le fichier ._SDL-1.2.15 dans le dossier code blocks, a cote des deux dossiers. Pour info, j ai pris la devel SDL-devel-1.2.15-mingw32, et le dll de SDL-1.2.15-win32-x64.
Je cree un nouveau projet SDL "test3", et je dis au wizard que SDL location est C:\Program Files (x86)\CodeBlocks\SDL-1.2.15 (la ou il est quoi)
Pas de soucis jusque la, le wizard me dit OK, il cree mon projet (je bloquais la avec la version 2.0.3 de SDL, mais avec la 1.2.15 ca passe). Du coup je met SDL.dll dans le dossier du projet a cote de main.cpp
J ouvre main.cpp, y a un joli petit code de test, je le build il me dit ok, 0 errors, 0 warnings, et quand je le lance, il me dit qu il n a pas pu demarrer le programme comme il faut(je traduis, mon pc est polonais), et renvoie 0xc000007b.
Si l'un ou l'une d'entre vous pouvait me filer un coup de main, ca me serait tres utile, j'arriverai a faire tourner ces **** de programmes qu on me demande de faire en cours, j'arrive a pondre les algos mais pas a installer une bibliotheque. Frustrant.
Desole pour le roman, je voulais juste etre precis, et merci d'avance !!
Ah oui c'est vrai, c'est classique. Avec la SDL, quand on a l'erreur "undefined reference to SDL_main", c'est un soucis au niveau de la déclaration du main. J'avais oublié ce détail.
@MaxRay, peux-tu poster ton erreur exact ? Copié/collé ou même un screenshot. Même si c'est en polonais, ça aiderai.
Pour configurer de façon propre un projet utilisant une bibliothèque, je conseille de suivre ce tuto (je préviens, c'est pas vraiment pour les newbies).
- Edité par Escargotine 10 octobre 2015 à 22:38:08
Sinon pour ceux qui ont des problèmes, vérifiez que vous installez bien le fichier 32 bits si comme pour mon cas code::blocks est installé dans programfilesx86 (donc en 32bits), je crois que c'était la source de mon problème
- Edité par NicolasVergne1 8 octobre 2016 à 18:07:14
× 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.
Installer la SDL 1.2 avec CodeBlocks sous Windows. Installer la SDL 2.0 avec CodeBlocks sous Windows.
Installer la SDL 1.2 avec CodeBlocks sous Windows. Installer la SDL 2.0 avec CodeBlocks sous Windows.