Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1606 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [resolu] sdl sous code::blocks

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[resolu] sdl sous code::blocks

n°1315707
gorila
It's not a bug, it's a feature
Posté le 28-02-2006 à 22:31:06  profilanswer
 

Salut a tous,
 
apres moults essais, je commence litteralement a peter un plomb.
 
j'aimerait prendre les sources d'un projet que j'ai fait en SDL/Opengl et les compiler et pouvoir travailler dessus sous Code::Blocks.
 
mon projet se presente comme suit:
 
repetoire du projet:
 
- sources (*.cpp)
- headers (*.h)
- les dlls dont je me sert (fmod, libxml et cie)
- un repertoire includes dans lequel je met les includes de la SDL et de fmod et cie
- un repertoire libs dans lequel je met les *.lib
- un repertoire "res" dans lequel je stock mes ressources
 
dans un environnement Visual Studio tout se passe tres bien, mais lorsque je souhaite recommencer un projet, en mettant mes fichiers dedans et en ayant parametre un peu, je me retrouve avec cette erreur:
 

Citation :


Linking console executable: SDLapp.exe
libs/SDLmain.lib(./Release/SDL_win32_main.obj):C:\SDL-1.2.9\Src\M:(.text[_main]+0x0): multiple definition of `main'
C:\Program Files\CodeBlocks\lib/libmingw32.a(main.o):main.c:(.text+0x0): first defined here
Warning: .drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
.objs\cEnemy.o:cEnemy.cpp:(.text+0x3b3): undefined reference to `glLoadIdentity@0'


 
de ce que j'ai pu comprendre, sous windows le main ne s'appel pas main, mais WinMain, sachant en plus que la SDL a aussi son propre point d'entree, le SDLmain il me semble....
 
 
je suis un peu perdu dans tout ces mains differents et je n'arrive guere a configurer convenablement mon projet.
 
quelqu'un pourrait il prendre 2 minutes pour m'expliquer les rudiments de la compilation sous windows en environnement non microsoft :-)
 
merci d'avance


Message édité par gorila le 28-02-2006 à 23:45:38
mood
Publicité
Posté le 28-02-2006 à 22:31:06  profilanswer
 

n°1315714
skelter
Posté le 28-02-2006 à 22:51:07  profilanswer
 

apparament tu ne peux pas avoir de main et lier avec la lib mingw32 (c'est elle qui le définie), regarde la doc si c'est comme tu dis (tu fais une fonction qui s'appel WinMain et qui sera le pe)
t'as des trucs pas cross-compiler aussi

Citation :

Warning: .drectve `/DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"uuid.lib" /DEFAULTLIB:"MSVCRT" /DEFAULTLIB:"OLDNAMES" ' unrecognized


n°1315719
gorila
It's not a bug, it's a feature
Posté le 28-02-2006 à 23:02:05  profilanswer
 

en fait je suis en train de faire aussi des tests avec le template SDL que code::blocks propose, et impossible d'arriver a le compiler....
 
je dois faire une connerie qui viens surement du fait que je doit ne pas bien comprendre la philosophie de cet EDI...
 

n°1315724
skelter
Posté le 28-02-2006 à 23:09:55  profilanswer
 

c'est plutot le fait d'utiliser des edi tu comprends plus se qui se passe derriere, tu as deja utilisé un compilateur en ligne de commande ? tu connais les différéntes étapes du source à la génération du fichier executable ?
code::blocks utilise gcc ? tu peux montrer les commandes générées ou le makefile


Message édité par skelter le 28-02-2006 à 23:10:20
n°1315735
gorila
It's not a bug, it's a feature
Posté le 28-02-2006 à 23:19:49  profilanswer
 

bah en fait j'ai fait que ca de toute ma vie du coding en ligne de commande....
 
et la je me retrouve oblige de faire du Visual a l'ecole, donc pour avoir un environnement un peu moins "playschool" je prefere prendre un EDI un peu moins complexe comme code::blocks pour tout ce que je bosse chez moi...
 
 
dans le cadre de l'appli de test SDL, je me retrouve avec ce message d'erreur la:

Citation :


Compiling: main.cpp
Linking console executable: SDLapp.exe
mingw32-g++.exe: Files\CodeBlocks\lib -o SDLapp.exe .objs\main.o        -lmingw32 -lSDLmain -lSDL: No such file or directory
mingw32-g++.exe: no input files
Process terminated with status 1 (0 minutes, 1 seconds)
0 errors, 0 warnings


 
les fichiers : SDL.dll, SDL.lib et SDLmain.lib sont a la racine de mon projet, et dans les builds_options du project, j'ai mis dans la liste "linker" le path complet vers mon projet...

n°1315742
skelter
Posté le 28-02-2006 à 23:24:15  profilanswer
 

deja si tu passes  "-lSDLmain" ld va chercher le fichier libSDLmain.a (si linkage statique) et certainement pas SDLmain.lib

n°1315751
gorila
It's not a bug, it's a feature
Posté le 28-02-2006 à 23:30:45  profilanswer
 

le probleme, c'est que meme en mettant les bons fichiers (libSDL.a et libSDLmain.a) il n'arrive pas a trouver en me mettant la meme erreur...

n°1315756
skelter
Posté le 28-02-2006 à 23:33:08  profilanswer
 

tu peux montrer le message d'erreur et la ligne de commande ?

n°1315764
gorila
It's not a bug, it's a feature
Posté le 28-02-2006 à 23:36:54  profilanswer
 

toujours la meme... c'est pour ca que je dois merder autre part je suppose. voici la compile en entier:
 
 

Citation :

Switching to target: default
Compiling: main.cpp
Linking console executable: SDLapp.exe
mingw32-g++.exe: Files\CodeBlocks\lib -o SDLapp.exe .objs\main.o        -lmingw32 -lSDLmain -lSDL: No such file or directory
mingw32-g++.exe: no input files
Process terminated with status 1 (0 minutes, 1 seconds)
0 errors, 0 warnings

n°1315769
skelter
Posté le 28-02-2006 à 23:39:47  profilanswer
 

non, la commande (g++ ... ou autre) et la sortie erreur, ca ca doit etre une surcouche (vachement utile, on comprend rien) de ton edi

mood
Publicité
Posté le 28-02-2006 à 23:39:47  profilanswer
 

n°1315773
gorila
It's not a bug, it's a feature
Posté le 28-02-2006 à 23:43:17  profilanswer
 

bon bah incomprehensible, j'ai efface et remis tout mes paths vers les libs et les includes, et maintenant ca marche....
 
y a quelque chose qui m'a echape la...

n°1315774
gorila
It's not a bug, it's a feature
Posté le 28-02-2006 à 23:45:10  profilanswer
 

juste au passage, un petit tips que j'ai decouvert en fouillant pour mon probleme.
 
dans le menu: build/compiler options/other/compiller logging/
 
il y a la possibilite d'afficher les lignes de commande en entieres, ce qui peut apporter une source d'info supplementaire :-)
 
 
merci en tout cas pour ton aide ;-)

n°1315777
skelter
Posté le 28-02-2006 à 23:46:34  profilanswer
 

il ne te génère pas un makefile ?

n°1316690
gorila
It's not a bug, it's a feature
Posté le 02-03-2006 à 01:31:31  profilanswer
 

non il ne fait pas de makefile.
 
par contre j'ai une autre question qui va peut etre semblee conne:
 
quelle difference entre:
 
libSDL.a
libSDL.dll.a
libSDL.la
libSDLmain.a
SDL.lib
SDLmain.lib
 
qui a besoin de quoi pour linker?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [resolu] sdl sous code::blocks

 

Sujets relatifs
[php] [resolu]newbie. Comment ramener le focus sur le 1er champ[résolu] impossible de me connecter à mysql
[Résolu] Problème pour un INSERT INTO d'une base vers une autre[VBScript] [RESOLU] modifier une fonction dans une boucle
[Resolu]selection de ligne d'un tableau dynamique et formulaireProtéger un livre d'or [Résolu]
[VBScript] [RESOLU] Boucle Do ... Loop[Résolu]liste de case à cocher
Signification d'une ligne de code en PHP[Resolu]Jeux2D besoin d aide couleur de transparence
Plus de sujets relatifs à : [resolu] sdl sous code::blocks


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR