CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Problème installation bibliothèques!

super-vegeta06
super-vegeta06
Niveau 35
27 septembre 2014 à 09:41:53

Salut à tous !

Je viens vers vous aujourd'hui car depuis une semaine je rencontre un problème assez gênant en langage C, je n'arrive pas à "installer" les bibliothèques SDL_Image et SDL_TTF dans mes projets, j'ai beau tester toutes les méthodes au monde rien ne marche !

Pourtant, je n'ai eu aucun souci pour "installer" des biblios du style SDL et etc... Je ne comprends pas quel est mon erreur, si quelqu'un pourrais me faire un tuto ( même si je doute que j'ai mal suivi celui de OP ) ou me dire mes erreurs via mes screenshots ça serrait parfait :oui:

→ https://image.noelshack.com/fichiers/2014/39/1411803356-probleme-biblio-ttf.png

→ https://image.noelshack.com/fichiers/2014/39/1411803384-emplacement-fichier-sourcessdl.png

→ https://image.noelshack.com/fichiers/2014/39/1411803405-emplacement-lib.png

→ https://image.noelshack.com/fichiers/2014/39/1411803480-quel-version-prendre.png ( Car apparemment CodeBlocks fonctionne en 32 bits ? :( )

Merci de votre aide ! Car je vous avouerais que là je commence à désespérer... :-(

super-vegeta06
super-vegeta06
Niveau 35
27 septembre 2014 à 09:54:01

Bon, en mettant les fichiers .lib en 32 bits j'ai grosse erreur...

Voici le screen → https://image.noelshack.com/fichiers/2014/39/1411804434-erreur-en-32bits.png :(

uint128
uint128
Niveau 3
27 septembre 2014 à 11:25:11

SDL et ses extensions doivent tous être en 32 bits.

Pourquoi tu as mis le dossier SDL dans le dossier Mingw... mais TTF est dans un autre dossier ? Je comprends pas, c'est bizarre. Perso j'ai fait ça :

- Dézipper SDL, SDL_TTF, SDL_Image et SDL_Mixer dans C:\SDL2-2.0.3 : http://i.imgur.com/MWXGg5Y.png .

- Dans la config du projet, sous search directories->compiler, choisir C:\SDL2-2.0.3\include\SDL2 http://i.imgur.com/iW27gWf.png

- dans directories->linker choisir C:\SDL2-2.0.3\lib http://i.imgur.com/z7u79RY.png

- Dans Linker settings taper "-lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer" pour dire au compilateur d'utiliser ces librairies http://i.imgur.com/fBsEvGn.png

Si ça ne fonctionne toujours pas, tu peux essayer sur Visual Studio J'ai écrit un tuto ici : http://uint128.a78.org/SDL2/configIDE/

uint128
uint128
Niveau 3
27 septembre 2014 à 11:27:42

Bien sûr tu n'as pas besoin d'include SDL_Mixer si tu n'en as pas besoin ! Dans ce cas, dans linker settings, ne tape pas "-lSDL2_mixer".

Ensuite dans ton programme tu devras taper

"#include <SDL.h>

  1. include <SDL_image.h>
  2. include <SDL_ttf.h>"

pour include les headers.

uint128
uint128
Niveau 3
27 septembre 2014 à 12:01:41

Désolé pour le triple poste, en fait je viens de me rendre compte que tu n'as pas installé les bons fichiers de SDL.

Donc on reprend depuis le début.

1) Vas sur https://www.libsdl.org/download-2.0.php

2) Télécharge SDL2-devel-2.0.3-mingw.tar.gz

3) Dans cette archive se trouve un dossier "i686-w64-mingw32". C'est dans ce dossier que ce trouve les dossiers lib et include dont tu as besoin, en version 32 bits : http://i.imgur.com/7tQ8Aab.png . Place les 4 dossiers sur ton disque dur, dans mon cas je les ai placé dans C:\SDL2.0.3 http://i.imgur.com/MWXGg5Y.png

4) Pour les extensions SDL_Image et SDL_TTF, télécharge bien les versions "MinGW 32/64-bit". Par exemple, pour SDL_Image, sur https://www.libsdl.org/projects/SDL_image/ télécharge SDL2_image-devel-2.0.0-mingw.tar.gz. Dans chaque archive tu trouveras un dossier "i686-w64-mingw32", qui contient 3 dossiers "bin", "include", et "lib", place les dans le même dossier que SDL. http://i.imgur.com/IxUAz4I.png

5) Dans la config du projet, sous search directories->compiler, choisis C:\SDL2-2.0.3\include\SDL2 http://i.imgur.com/iW27gWf.png

6) Dans directories->linker choisis C:\SDL2-2.0.3\lib http://i.imgur.com/z7u79RY.png

7) Dans Linker settings, tape "-lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf" pour dire au compilateur d'utiliser ces librairies http://i.imgur.com/fBsEvGn.png

8) Place les .dll dont tu as besoin dans "Nom de ton projet"\bin\Debug", http://i.imgur.com/fjNxPUT.png . Ces .dll se trouvent dans C:\SDL2-2.0.3\bin.

8) BONUS STAGE: il y a un bug dans SDL avec CodeBlocks :rire: Une erreur ligne 117 de SDL_Platform.h, comme quoi il manquerait une librairie... Tu peux soit éditer manuellement le fichier en supprimant les lignes 117 à 134, soit télécharger le miens et le placer dans C:\SDL2-2.0.3\include\SDL2 : http://uint128.a78.org/SDL2/configIDE_CodeBlocks/SDL_platform.h (ce bug n'est pas présent dans Visual Studio)

super-vegeta06
super-vegeta06
Niveau 35
27 septembre 2014 à 13:57:45

Ok merci je vais essayer :oui:

super-vegeta06
super-vegeta06
Niveau 35
02 octobre 2014 à 21:45:05

Bon j'arrive même pas à créé mon projet, quand je dois indiqué la location de la sdl CB m'indique une erreur m'empêchant de continué... :(

Voici un screen → https://image.noelshack.com/fichiers/2014/40/1412279019-sans-titre.png

Je ne comprends plus rien, ça va faire bientôt 2 semaines que je ne code plus à cause d'une connerie pareil !

Merci de votre aide :ange:

uint128
uint128
Niveau 3
03 octobre 2014 à 20:26:43

J'ai oublié un truc dans mon dernier message :hap:

9) ajouter #include <SDL.h> (et SDL_Image.h etc., selon les besoins)

Pour ton problème, tu dois indiquer le dossier d'SDL, là où se trouvent les dossiers "include" et "lib", mais tu indiques le dossier include...

Je ne savais même pas qu'on pouvait créer un projet SDL dans Codeblocks, j'ai toujours crée un projet vierge puis ajouté manuellement SDL.

super-vegeta06
super-vegeta06
Niveau 35
04 octobre 2014 à 11:36:22

| https://www.jeuxvideo.com/forums/1-47-108101-1-0-1-0-c-probleme-installation-bibliotheques.htm#message_108372
| Ecrit par « uint128 », 3 octobre 2014 à 20:26:43
| « J'ai oublié un truc dans mon dernier message :hap:
|
| 9) ajouter #include <SDL.h> (et SDL_Image.h etc., selon les besoins)
|
|
|
| Pour ton problème, tu dois indiquer le dossier d'SDL, là où se trouvent les dossiers "include" et "lib", mais tu indiques le dossier include...
|
| Je ne savais même pas qu'on pouvait créer un projet SDL dans Codeblocks, j'ai toujours crée un projet vierge puis ajouté manuellement SDL. »

Ah il me semblait bien que tu utilisais une autre technique que la mienne :noel:

Sinon pour en revenir au problème, j'ai beau faire comme je le faisait avec la SDL 1 c'est à dire d'indiqué juste le dossier d'installe pour continuer mais encore une fois rien ne marche j'ai beau indiqué tout le dossier et etc... J'ai toujours ce message d'erreur :nonnon:

Est ce que mes fichiers .lib sont correctes au moins ? :( Car ils me semble bizarre perso.

→ https://image.noelshack.com/fichiers/2014/40/1412415366-sans-titre.png

Merci de ton aide précieuse ! :ok:

uint128
uint128
Niveau 3
04 octobre 2014 à 14:08:37

Les librairies en .a sont correctes.

Tu as bien fait exactement ce que j'ai dit dans ce message ? https://www.jeuxvideo.com/forums/1-47-108101-1-0-1-0-c-probleme-installation-bibliotheques.htm#message_108110

Tu as toujours le même message "Undefined reference to...." ?

Tu #include quels fichiers exactement ? Si tu as choisi "C:\SDL2-2.0.3\include\SDL2", tu dois include <SDL.h> (et les autres headers), mais si tu as choisi "C:\SDL2-2.0.3\include\" tu dois include <SDL2\SDL.h>.

super-vegeta06
super-vegeta06
Niveau 35
04 octobre 2014 à 21:53:53

| https://www.jeuxvideo.com/forums/1-47-108101-1-0-1-0-c-probleme-installation-bibliotheques.htm#message_108385
| Ecrit par « uint128 », 4 octobre 2014 à 14:08:37
| « Les librairies en .a sont correctes.
|
| Tu as bien fait exactement ce que j'ai dit dans ce message ? https://www.jeuxvideo.com/forums/1-47-108101-1-0-1-0-c-probleme-installation-bibliotheques.htm#message_108110
|
| Tu as toujours le même message "Undefined reference to...." ?
|
| Tu #include quels fichiers exactement ? Si tu as choisi "C:\SDL2-2.0.3\include\SDL2", tu dois include <SDL.h> (et les autres headers), mais si tu as choisi "C:\SDL2-2.0.3\include\" tu dois include <SDL2\SDL.h>.
| »

Oui j'ai bien suivi toutes tes étapes, en faite maintenant le problème c'est ce que je n'arrive même plus à créé un projet en SDL... j'ai à chaque fois le même message d'erreur alors que j'indique le bon emplacement...

Je suis perdu, là j'ai bientôt terminer le cours mais je ne peux même pas m'exercer ou terminer le petit jeu que j'avais fait pour mes potes :pf:

Je suis dégouté :-(

Voilà encore un petit screen avant que l'erreur apparaisse → https://image.noelshack.com/fichiers/2014/40/1412452421-sans-titre.png

Alessandro2096
Alessandro2096
Niveau 35
08 octobre 2014 à 15:36:31

:up: svp ! :-(

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment