Puis toujours dans build options Search --> Linker setting j'ai mis la commande suivante dans other linker options -lmingw32 -lSDL2main -lSDL2
(j'ai aussi ensuite essayé dans link librairies juste à coté, avec les nom des fichier libmingw32.a libSDL2main.a libSDL2.a (avec et sans le .a). J'ai aussi essayé avec les chemin d'accès direct C:\SDL\lib\libSDL2main.a ... (mais je ne trouve pas le fichier libmingw32.a qui devrait être dans C:\Program Files\CodeBlocks\MinGW\lib\libmingw32).
J'ai essayé cette manip sur Global Ciloiler Settings, mais toujours le même problème. j'ai aussi essayé de mettre les fichier lib, include, et bin (du SDL) directement dans le projet avec comme chemin d'accès sur CODE::BLOCK .\lib et .\include mais encore le même problème.
cannot find lSDL2main et lSDL2 en 32bits
et 64bits c'est une autre erreur : undefined reference to 'WinMain'
Je me tourne vers vous dans l’espoir de trouver d'une solution
Quitte à utiliser la toolchain GNU, autant utiliser msys2.org qui a l'avantage de fournir une palanquée de bibliothèques précompilés en plus de compilateurs récents. Vous pourrez aussi profiter de pas mal d'outils, IDEs modernes (comme Qt Creator) plus à jour que cette vieillerie de c::b.
- Edité par markand 25 avril 2022 à 9:03:12
git is great because Linus did it, mercurial is better because he didn't.
Après, il n'y a rien de compliquer à lier la lib SDL sous Code::Blocks. Il suffit de renseigner les dossiers lib et include dans l'onglet "search directory" dans les options projet et ajouter les fichiers lib a linker dans les options du projet "onglet linker". C'est tout ! C'est le même principe quelque soit la lib utilisée. Attention à ne pas mélanger 32 bits et 64 bits, l'erreur est fréquente depuis que Code:Blocks est livré avec un MinGW en 64 bits !
En effet, codeblocks est vieux et plus très pratique... Je suis passé sous visual studio community, et pour la lib graphique en C++ il y a aussi SFML qui fonctionne plutot bien je trouve
Du coup je suis passé sous Visual Studio Code, plus agréable visuellement au passage.
Il faut bidouiller un peux plus avec différentes installations C/C++, MinGW, Gnu... mais après avoir fait tout cela, la SDL fonctionne parfaitement du premier coupl !
"je conseil au personne qui on le même problème à passer sur VS du coup" ;-)
La capture d'écran que tu donnes te dit ce qui cloche (dans le commentaire), la fonction main doit être déclarée de la forme int main(int argc, char *argv[]).
× 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.
git is great because Linus did it, mercurial is better because he didn't.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Cours de C++ moderne