TTF_Init ne fonctionne pas - undefined reference
Hey bien le bonsoir tout le monde !
Je n'arrive pas à faire fonctionner la commande TTF_Init();. Je ne sais plus quoi faire pour que ça fonctionne. J'ai bien placer les fichier au bon endroits, j'ai aussi rajouter le chemin via code::block etc...
Si j'enlève cette commande le programme fonctionne et ne m'indique aucune erreurs... Mais juste avec cette commande il me trouve 50 erreurs oO Est-ce possible ??
Voici les erreurs;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
||=== Build: Debug in SDL2 (compiler: GNU GCC Compiler) ===|
F:\Programmation 3D\CodeBlock\Projets SDL\SDL2\main.c||In function 'SDL_main':|
F:\Programmation 3D\CodeBlock\Projets SDL\SDL2\main.c|13|warning: multi-line comment [-Wcomment]|
F:\Programmation 3D\CodeBlock\Projets SDL\SDL2\main.c|22|warning: multi-line comment [-Wcomment]|
F:\Programmation 3D\CodeBlock\Projets SDL\SDL2\main.c|31|warning: multi-line comment [-Wcomment]|
F:\Programmation 3D\CodeBlock\Projets SDL\SDL2\main.c|24|warning: variable 'pWindow' set but not used [-Wunused-but-set-variable]|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `Load_Glyph':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|609|undefined reference to `FT_Load_Glyph'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|671|undefined reference to `FT_Outline_Transform'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|677|undefined reference to `FT_Get_Glyph'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|678|undefined reference to `FT_Stroker_New'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|694|undefined reference to `FT_Render_Glyph'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|895|undefined reference to `FT_Done_Glyph'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|607|undefined reference to `FT_Get_Char_Index'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|682|undefined reference to `FT_Stroker_Set'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|683|undefined reference to `FT_Glyph_Stroke'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|684|undefined reference to `FT_Stroker_Done'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|686|undefined reference to `FT_Glyph_To_Bitmap'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|688|undefined reference to `FT_Done_Glyph'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_Init':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|340|undefined reference to `FT_Init_FreeType'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SetFTError':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|331|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_CloseFont':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|927|undefined reference to `FT_Done_Face'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_OpenFontIndexRW':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|432|undefined reference to `FT_Open_Face'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|460|undefined reference to `FT_Set_Char_Size'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|454|undefined reference to `FT_Set_Charmap'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|484|undefined reference to `FT_Set_Pixel_Sizes'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|381|undefined reference to `SDL_SetError'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|396|undefined reference to `SDL_SetError'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|405|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SetFTError':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|331|undefined reference to `SDL_SetError'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|331|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o):\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|389|more undefined references to `SDL_SetError' follow|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_OpenFontIndex':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|550|undefined reference to `SDL_RWFromFile'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|552|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SetFTError':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|331|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SizeUTF8':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1223|undefined reference to `SDL_strlen'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1241|undefined reference to `FT_Get_Kerning'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SetFTError':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|331|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SizeUTF8':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1207|undefined reference to `SDL_SetError'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1207|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SizeText':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1183|undefined reference to `SDL_strlen'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1189|undefined reference to `SDL_Error'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1181|undefined reference to `SDL_SetError'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1181|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SizeUNICODE':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1326|undefined reference to `SDL_Error'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1318|undefined reference to `SDL_SetError'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1318|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_RenderUTF8_Solid':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1380|undefined reference to `SDL_CreateRGBSurface'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1397|undefined reference to `SDL_SetColorKey'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1403|undefined reference to `SDL_strlen'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1429|undefined reference to `FT_Get_Kerning'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1375|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_SetFTError':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|331|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_RenderUTF8_Solid':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1415|undefined reference to `SDL_FreeSurface'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1371|undefined reference to `SDL_SetError'|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1371|undefined reference to `SDL_SetError'|
SDL2\lib\libSDL2_ttf.a(SDL_ttf.o)||In function `TTF_RenderText_Solid':|
\Users\slouken\release\SDL_ttf\SDL2_ttf-2.0.12-source\foo-x86\..\SDL_ttf.c|1339|undefined reference to `SDL_strlen'|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build failed: 50 error(s), 4 warning(s) (0 minute(s), 0 second(s)) ===| |
Et maintenant voici mon code sources;
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
#include <stdlib.h>
#include <stdio.h>
#include <SDL.h>
#include <SDL_image.h>
#include <SDL_ttf.h>
void pause();
int main(int argc, char *argv[])
{
// ---------------------------------------------------------------------------------------\\
// Initialisation de la SDL
if(SDL_Init(SDL_INIT_VIDEO) != 0)
{
fprintf(stdout,"Erreur lors de l'initialisation de la SDL : (%s)\n",SDL_GetError()); // Si il y a une erreur, on l'écrit.
SDL_Quit(); // Arrêt de la SDL
return -1;
}
// ---------------------------------------------------------------------------------------\\
// Création de la fenêtre
SDL_Window* pWindow = NULL;
pWindow = SDL_CreateWindow("Titre de la fenêtre",SDL_WINDOWPOS_CENTERED, // Signifie que nous centrons la fenêtre par rapport à l'axe X
SDL_WINDOWPOS_CENTERED,// Signifie que nous centrons la fenêtre par rapport à l'axe Y
800, 600, // (Widht) La largeur de la fenêtre. (Height) La hauteur de la fenêtre
SDL_WINDOW_SHOWN); // (Flags) Ce paramettre est peu spécial, il faut toujours mettre SDL_WINDOW_SHOWN.
//Plus tars, ce sera ici que l'on indiquera à la SDL que nous souhaiterons utiliser OpenGL
// --------------------------------------------------------------------------------------- \\
pause(); // Mise en pause du programme
SDL_Quit(); // Arrêt de la SDL
return EXIT_SUCCESS; // Fermeture du programme
}
void pause()
{
int continuer = 1;
SDL_Event event;
while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
}
}
} |
Notez que je n'ai pas utilisé la commande TTF_init(); et le programme se lance parfaitement. J'espère que vous pourriez m'aider. M'aider à trouvé une solution à se problème parce que là je stagne. Sachant que cette fameuse commande, j'ai essayer de la placer dans diverse endroit du code source mais sans succès.
Enfin voilà... Je vous dis une grand merci d'avance et à bientôt !