#1 Le 25/04/2015, à 23:21
- P141592653
[C++] Compiler avec gcc un programme utilsant la SDL2.0
Bonjour !
Je sais que ce sujet a été plusieurs fois abordé mais aucun des sujets que j'ai vu n'a résolu mon problème. J'ai un projet basique dans lequel j'utilise la SDL 2.0. il y a un fichier main.cpp dans lequel j'utilise la SDL2.0 et un fichier fonctions.cpp qui n'utilise pas la SDL. J'utilise ce makefile pour compiler :
Programme : main.o fonctions.o
g++ main.o fonctions.o -o Programme
main.o : main.cpp fonctions.cpp
g++ -c main.cpp -o main.o `sdl2-config --cflags --libs`
fonctions.o : fonctions.cpp
g++ -c fonctions.cpp -o fonctions.o
Lorsque je tape
make Programme
dans la console, je récupère le résultat suivant :
g++ main.o fonctions.o -o Programme
main.o: dans la fonction « main »:
main.cpp:(.text+0x78): référence indéfinie vers « SDL_CreateWindow »
main.cpp:(.text+0x8e): référence indéfinie vers « SDL_GetError »
main.cpp:(.text+0xdb): référence indéfinie vers « SDL_CreateRenderer »
collect2: error: ld returned 1 exit status
make: *** [Programme] Erreur 1
Je n'arrive pas à compiler correctement. Quelqu'un saurait-il pourquoi?
Merci d'avance.
Hors ligne
#2 Le 26/04/2015, à 05:59
- pingouinux
Re : [C++] Compiler avec gcc un programme utilsant la SDL2.0
Bonjour,
Je ne suis pas un spécialiste des makefiles, mais j'aurais placé la référence à sdl2 ici :
g++ main.o fonctions.o -o Programme `sdl2-config --cflags --libs`
Hors ligne
#3 Le 26/04/2015, à 10:42
- grim7reaper
Re : [C++] Compiler avec gcc un programme utilsant la SDL2.0
Salut,
Ici :
main.o : main.cpp fonctions.cpp
g++ -c main.cpp -o main.o `sdl2-config --cflags --libs`
tu compiles le fichier, tu as seulement besoin de --cflags je pense.
Là :
Programme : main.o fonctions.o
g++ main.o fonctions.o -o Programme
Tu fais l’éditions des liens, tu auras donc besoin des bibliothèques.
Du coup, ton Makefile serait :
Programme : main.o fonctions.o
g++ main.o fonctions.o -o Programme `sdl2-config --libs`
main.o : main.cpp fonctions.cpp
g++ -c main.cpp -o main.o `sdl2-config --cflags`
fonctions.o : fonctions.cpp
g++ -c fonctions.cpp -o fonctions.o
Hors ligne