Sdl

mercatp

Membre enregistré
24 Mai 2008
6
0
Bonjour,

J'ai réalisé des jeux sur Mac OSX 10.3 en utilisant SDL (voir http://sourceforge.net/projects/scoutgame pour un exemple), mais impossible de compiler en mode deployment !
Meme avec un code extremement simple, en C, ça compile bien en mode development mais en mode deployment j'ai l'erreur :
ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_fixunssfdi.o) illegal reference to symbol: ___cmpdi2 defined in indirectly referenced dynamic library /usr/lib/libgcc_s.1.dylib

Quelqu'un sait-il à quoi est dû cette erreur ?

Merci d'avance !
 
Bonjour,

J'ai réalisé des jeux sur Mac OSX 10.3 en utilisant SDL (voir http://sourceforge.net/projects/scoutgame pour un exemple), mais impossible de compiler en mode deployment !
Meme avec un code extremement simple, en C, ça compile bien en mode development mais en mode deployment j'ai l'erreur :
ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_fixunssfdi.o) illegal reference to symbol: ___cmpdi2 defined in indirectly referenced dynamic library /usr/lib/libgcc_s.1.dylib

Quelqu'un sait-il à quoi est dû cette erreur ?

Merci d'avance !

gcc 3.3 tu mixes les liens une ref used manque un lien dynamic
tu mixes quelque chose une lib qui ne correspond pas au target

a classer ds prob de newbie gcc/ld et non SDL
:zen:
 
Pourtant, quand je compile en mode Deployment sans utiliser SDL ça marche !
Il me semble avoir installé Xcode 1.5 normalement, donc je trouve cette erreur bizard.
Que dois-je faire pour que ça compile correctement ?
Merci.
 
J'ai aussi essayé de compiler en ligne de commande, et j'obtiens exactement la meme erreur:

gcc -x objective-c -lobjc -bind_at_load -o test SDLMain.m main.m -framework Cocoa -framework SDL
ld: /usr/lib/gcc/darwin/3.3/libgcc.a(_fixunssfdi.o) illegal reference to symbol: ___cmpdi2 defined in indirectly referenced dynamic library /usr/lib/libgcc_s.1.dylib
make: *** [test] Error 1

sachant que main.m contient:

#import <Cocoa/Cocoa.h>
#import <SDL/SDL.h>

int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}

et SDLMain.m et SDLMain.h sont les fichiers fournit avec la SDL (je n'y ai pas touché).
 
Merci
En cochant le framework Foundation en plus, je n'ai plus l'erreur précédente. Mais malheureusement j'en ai une autre:

ld: warning prebinding disabled because dependent library: @executable_path/../Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf is not prebound
ld: /usr/lib/gcc/darwin/3.3/libstdc++.a(eh_exception.o) illegal reference to symbol: operator delete(void*) defined in indirectly referenced dynamic library /usr/lib/libstdc++.6.dylib
 
Merci
En cochant le framework Foundation en plus, je n'ai plus l'erreur précédente. Mais malheureusement j'en ai une autre:

ld: warning prebinding disabled because dependent library: @executable_path/../Frameworks/SDL_ttf.framework/Versions/A/SDL_ttf is not prebound
ld: /usr/lib/gcc/darwin/3.3/libstdc++.a(eh_exception.o) illegal reference to symbol: operator delete(void*) defined in indirectly referenced dynamic library /usr/lib/libstdc++.6.dylib

Tu es sur que toutes les cases bleues sont cochées ?

Cordialement
 
Hourra !!!
J'ai reussi !
Il m'a suffit de changer le "Cross-Develop Using Target SDK" de Current Mac OS à MacOSX10.2.8 (et d'ajouter les framework au bon endroit).

Pour répondre à Didier Guillion : oui j'ai bien coché toutes les cases bleues.

Merci à tous pour vos réponses !