Problème SDL sous mac

Bonjour tout le monde,

je viens d'installer la SDL sur mon mac avec fink (pour pouvoir faire du graphisme en c/c++), et il se trouve que j'ai l'erreur suivante quand j'essaie de compiles n'importe quel programme en incluant la SDL :

Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

Merci de m'aider...

PS : je compile avec gcc
Configuration: Mac OS X
Safari 525.20.1

10 réponses

  1. J'arrive peut être un peu tard et tu as sûrement résolu ton problème depuis longtemps mais je me permet de poster pour ceux qui ont le même problème et qui cherchent peut être encore...

    J'ai commencé un projet avec SDL sous mac OS X et j'ai eu ce genre de problèmes. 2 choses à faire :

    Copier dans le répertoire de ton projet les fichiers SDLMain.m et SDLMain.h qui se trouvent dans le répertoire "devel-lite" de l'image dmg que tu as sûrement téléchargée sur libsdl.org

    Ensuite, l'en-tête de ton main doit être :

    extern "C" int main(int argc, char *argv[])
    1. Bah a priori oui...

      Voila mon code :

      #include <stdlib.h>
      #include <stdio.h>
      #include <SDL/SDL.h>

      int main(){
      return 0;
      }

      et si je commente #include <SDL/SDL.h> ca marche nikel...
      1. et même quand je met int main(int argc, char *argv[ ]) j'ai la même erreur...
        1. ben si ça marche quand tu commente l'include de SDL c'est que soit tu n'as pas installé SDL ou soit elle n'est pas dans le path donc ton compilateur la trouve pas
          1. A priori il l'a trouve, quand elle n'était pas au bon endroit (il y'a environ 1h...) j'avait un erreur SDL/SDL.h not found
            1. A priori il l'a trouve, quand elle n'était pas au bon endroit (il y'a environ 1h...) j'avait un erreur SDL/SDL.h not found
              1. Et une dernière chose, pour la compilation en c++, la commande c'est :

                g++ -I/Library/Frameworks/SDL.framework/Headers <liste des fichiers .cpp> SDLMain.m -framework SDL -framework Cocoa
                1. Bonsoir !
                  Je galere egalement ! Sauf que j'essaye de compiler en l'OCaml, mais l'erreur me semble identique:

                  ld: library not found for -lSDL
                  collect2: ld returned 1 exit status
                  File "_none_", line 1, characters 0-1:
                  Error: Error while building custom runtime system
                  make[2]: *** [game/project] Error 2
                  make[1]: *** [byte-code] Error 2
                  make: *** [all] Error 2

                  (le code compile sous windows, pas de probleme a ce niveau; j'ai installe la sdl avec Fink, j'ai fait un updatedb de locate.database; bref...)

                  Si vous avez une solution pour moi...