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 :

"undefined reference to TTF_Init" et configuration de Code::blocks


Sujet :

SDL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 2
    Par défaut "undefined reference to TTF_Init" et configuration de Code::blocks
    Bonjour,

    Débutant en informatique (excusez mon jargon approximatif) je réalise un projet de calcul formel sur les polynômes en C pour lequel je voudrais gérer des fenêtres: J'utilise Code::blocks et je souhaite utiliser les bibliothèques SDL.

    J'ai des difficultés avec la configuration de Code::blocks.

    Mon programme comprend:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include <SDL2/SDL.h>
    include <SDL2/SDL_ttf.h>
    qui ne posent pas de problèmes à la compilation et à l'exécution.

    L'initialisation de la SDL ne pose pas de souci (SDL_Init() ), en revanche l'initialisation de SDL_ttf (TTF_Init() )me renvoie une erreur de compilation: "undefined reference to TTF_Init".
    Je pense pourtant avoir bien installé les différentes bibliothèques, d'autant qu'il ne bloque pas sur l'include.

    Deuxième question:
    Quand je compile avec la SDL, il génère un exe qu'il lance correctement... mais si je lance manuellement l'exécutable créé dans Debug plante avec message d'erreur "Erreur d'application. L'application n'a pas réussi à démarrer correctement (0xc000007b)."
    Je suppose qu'il ne "trouve" pas la bibliothèque SDL. Comment préciser à Code::blocks que l'exécutable construit doit être indépendant?

    En remerciant par avance ceux qui pourront m'apporter de l'aide...




    PS: Je travaillais jusqu'à présent sur Geany mais j'ai rencontré des problèmes similaires et aucune aide ne semblait exister pour cette plateforme.

  2. #2
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    C'est tout le souci du C , savoir utiliser le C signifie aussi comprendre les outils de compilation.

    L'initialisation de la SDL ne pose pas de souci (SDL_Init() ), en revanche l'initialisation de SDL_ttf (TTF_Init() )me renvoie une erreur de compilation: "undefined reference to TTF_Init".
    Je pense pourtant avoir bien installé les différentes bibliothèques, d'autant qu'il ne bloque pas sur l'include.
    Il faut linker les lib donc -lSDL2 - lSDL2_TTF (ou un truc dans le genre)

    Quand je compile avec la SDL, il génère un exe qu'il lance correctement... mais si je lance manuellement l'exécutable créé dans Debug plante avec message d'erreur "Erreur d'application. L'application n'a pas réussi à démarrer correctement (0xc000007b)."
    Je suppose qu'il ne "trouve" pas la bibliothèque SDL. Comment préciser à Code::blocks que l'exécutable construit doit être indépendant?
    ça il faut compiler en mode static , sinon il faut mettre les dll et data dans le répertoire courant.
    Sinon code block par 'defaut' n’exécute pas au même endroit que votre binaire.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 2
    Par défaut
    Merci pour la réponse rapide.

    Les link sont faits (j'espère) correctement.
    Le fait que les include fonctionnent ne montre-t-il pas que les fichiers sont bien trouvés?

    Citation Envoyé par Kannagi Voir le message
    ça il faut compiler en mode static
    Comment procède-t-on? Une option de Build?

    Merci encore.

  4. #4
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Les includes permet juste au compilateur de ne pas se tromper sur les arguments , ni plus ni moins (pour les fonctions).

    Pour le static , ça dépend surtout de la compilation de la lib , si elle a était faite pour etre dynamique tu ne pourra pas y faire grand chose je suppose.
    Le mieux est de rester sur des lib dynamique simple conseil.

Discussions similaires

  1. [SDL_TTF] Erreur: "undefined reference to TTF_init()"
    Par Pif_Paf_Pouf dans le forum SDL
    Réponses: 3
    Dernier message: 04/11/2014, 08h54
  2. [Code::Blocks] Configuration de Code::Blocks
    Par zworg dans le forum EDI
    Réponses: 1
    Dernier message: 11/08/2011, 12h32
  3. Configuration de Code::Blocks 10.05
    Par Invité dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 15/02/2011, 03h38
  4. aide a configuration le code::blocks
    Par PIC16F877A dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 05/03/2010, 10h15
  5. "Undefined reference"s, alors que le linker est normalement configuré !
    Par kidpaddle2 dans le forum Autres éditeurs
    Réponses: 17
    Dernier message: 10/06/2008, 20h49

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