Forums iOS

[TUTO] Compiler la SDL pour iPhone avec Xcode

[TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar DarkCenobyte » 07 Avr 2011, 23:42

Apparemment, l'Objective C n'est pas le seul langage utilisable pour iPhone, le C semble être une alternative intéressante, n'ayant pour ainsi dire aucune connaissance en Objective-C j'ai fait une découverte assez intéressante, la SDL en version 1.3 (pas encore tout à fait stable), supporte officiellement l'iPhone !

Rappel: la SDL est une librairie en C plutôt simple d'utilisation très utilisé pour développer des applications et jeux en 2D


Comme hier j'avais rédiger un tutoriel sur la création d'apps pour Cydia en passant par Xcode et sans compte dev, je me suis dit qu'un tutoriel sur la compilation de la SDL pourrait être utile (surtout que le ReadMe, n'est pas tout à fait à jour, …) et pour ceux qui n'aime pas trop l'anglais (c'est dommage, car sa aide BEAUCOUP x) ).
De plus, je pense que mon tutoriel peux être utile autant à ceux qui code pour l'AppStore qu'à ceux qui code pour Cydia.

La SDL 1.3 étant fréquemment mis à jours (la dernière version date justement d'hier), plutôt que de vous compiler déjà les librairies et vous faciliter la tache mais en vous donnant des librairies périmés et moins stables, je préfère vous apprendre comment les compiler vous même.


Pré-requis:
    - MAC OS X.
    - Xcode (voir mon autre tutoriel, mon tutoriel est basé sur la dernière version 3.2.x , certaines étapes peuvent être différent avec la version 4 (payante)).
    - un iDevice (iPhone/iPod Touch/iPad…)
    - Savoir se servir de Xcode et exporter des apps sur son iPhone

NB: Dans le cas où vous ne disposez pas de compte devs chez Apple, cela signifie avoir suivis au moins mon précédent tutoriel:
- http://www.iphonegen.fr/forums/devellop ... 46783.html

I- Télécharger et compiler la SDL:

1) Rendez-vous sur le site de la SDL: => http://www.libsdl.org/
2) Cliquez sur "SDL HG" dans le menu à gauche (sous Download).
3) Plus bas dans la page, vous devriez voir "SDL-1.3.zip", téléchargez-le.
Il se peut que certaines fois, la SDL téléchargée soit instable et incompilable, si ça venait à arriver, allez ici:
- http://www.libsdl.org/tmp/
=> Télécharger une version plus ancienne, par exemple celle que j'utilise est la SDL-1.3.0-5534.zip

4) Vous obtenez dans vos téléchargement un dossier SDL-1.3.0-xxxx (xxxx = n° de votre version).
5) Ouvrez-le, vous devriez vous retrouver avec plusieurs fichiers et dossiers, parmis ces dossiers, chercher "Xcode-iPhoneOS" et ouvrez-le, puis à l'intérieur rendez-vous dans le dossier "SDL".
6) Vous trouverez un fichier de projet Xcode, ouvrez-le avec Xcode.
7) Maintenant dans le menu déroulant "Overview" en haut à gauche de la fenêtre principal de Xcode, réglez-le sur "Simulator", puis "Release" comme sur ce screenshot:

Image


8) Ensuite dans le menu de Xcode en haut de l'écran, faite Build > Build .
(il ne faut pas utiliser Build and Run, nous compilons des librairies et non une application, il n'y a donc rien à lancer).
9) Une fois la compilation terminée, nous allons rechanter les réglages du menu déroulant "Overview", en choisissant "Device" (et toujours "Release") comme sur ce screenshot:

Image


10) Ensuite, encore une fois, allez dans le menu de Xcode en haut de l'écran et faite Build > Build . (c'est normalement un peu plus long cette fois, il y a plus à compiler il me semble).
Conservez bien le dossier "build" (et en particulier les dossiers Release-iphoneos et Release-iphonesimulator qu'il contient) qui sera apparu dans le dossier SDL, il contient les library de la SDL, et vous aurez besoin de ce qu'il contient pour tout vos projets utilisant la SDL.


II- Ajouter la SDL à Xcode:

1) Retourner dans le dossier "Xcode-iPhoneOS", vous devriez y trouver aussi un dossier "Template", ouvrez-le, vous y trouverez un dossier SDL iOS Application .
2) A l'aide d'une autre fenêtre Finder, allez dans:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/

3) Dans ce dossier, créez un nouveau dossier que vous appellerez SDL .
4) Enfin faite glisser le dossier SDL iOS Application de votre autre fenêtre à l'intérieur du dossier SDL que vous venez de créer. (faite glisser le dossier complet, pas seulement son contenu)
Cela devrait faire en gros:
… /Project Templates/SDL/SDL iOS Application/
5) Relancez Xcode.

III- Préparation pour compiler sa première Apps SDL:
A présent, Xcode est capable de produire le code de base d'un application SDL et nous avons tout ce qu'il faut pour pouvoir la compiler, il faut cependant faire encore quelques petites choses avant de pouvoir lancer la SDL sur votre iDevice.

1) Créez un nouveau projet avec Xcode.
2) Si la SDL est bien installeé, vous devriez voir une nouvelle catégorie appelé "SDL" à gauche dans la partie "iOS" comme sur ce screenshot:

Image


Sélectionnez là.
3) Puis sélectionnez "SDL iOS Application", puis confirmer.
4) Donnez un nom à votre nouveau projet (par exemple HelloSDL).
Comme vous le remarquez, SDL apparait en rouge dans la liste "Groups & Files" à gauche, c'est tout simplement pour signaler que ces fichiers manques, il faut en effet utiliser les fichiers que nous avions compiler au début du tutoriel:
5) Ouvrez une fenêtre Finder pour vous rendre dans le dossier "build" qui contient ce que nous avions compilé au début (soit …/SDL-1.3.0-xxxx/Xcode-iPhoneOS/SDL/build )

Maintenant, vous avez deux possibilités (même si ce n'est pas très pratique, il faudra faire cette étape à chaque fois que vous voudrez changer…)
Enfaite, nous avons compilé la librairie deux fois, une fois en mode "Simulator" et une fois en mode "Device", le problème est qu'il n'est pas possible de compiler à la fois pour votre iDevice (et donc lancer l'apps sur votre appareil) et à la fois pour le simulateur en utilisant les mêmes fichiers (cela provoquera des erreurs), l'avantage du simulateur est de pouvoir tester très rapidement comparer à l'iPhone… Il faudra donc refaire les étapes à partir de l'étape 6 ci-dessous pour passer de l'un à l'autre en utilisant les bons fichiers.

6) Donc soit rendez-vous dans le dossier "Release-iphonesimulator" (et vous ne pourrez compiler que pour le simulateur), soit rendez vous dans le dossier "Release-iphoneos" (et vous ne pourrez compiler que pour votre iDevice, n'oubliez pas de le brancher au passage).

7) Vous y verrez un fichier libSDL.a ainsi qu'un dossier, fait clic droit et copier sur libSDL.a , puis ne fermer pas cette fenêtre Finder, nous y reviendrons rapidement ;) .
8 ) Ouvrez une autre fenêtre Finder, afin de vous rendre dans le dossier de votre projet Xcode.
9) Créez dans le dossier de votre projet, un nouveau dossier appeler SDL , puis ouvrez-le.
10) Dans ce dossier, créer un autre dossier et appelez-le lib .
11) Ouvrez le dossier lib , puis collez-y le fichier libSDL.a que nous avions copier un peu plus tôt.
12) Retourner dans le dossier SDL juste au dessus, puis ré-ouvrez l'autre fenêtre Finder (affichant soit le dossier Release-iphoneos soit le dossier Release-iphonesimulator ).
13) Dans cet autre fenêtre allez dans le dossier … /usr/local/ , vous y trouverez un dossier "include", copier-le et coller-le dans le dossier "SDL" ouvert dans l'autre fenêtre Finder.
14) Vous devriez obtenir quelque chose comme ça en final:

Image


15) Notre application est prête à être compilé, il ne reste plus grand chose à régler ;) .
Si vous voulez passer de la compilation pour le simulateur à celle pour l'iDevice ou vice-versa, il faudra refaire les étapes ci-dessus de la 6) à la 15) .

IV- Derniers préparatifs et compilation:
Tout d'abord, je précise que je ne compile que pour Cydia, je n'ai pas de comptes dévellopeurs chez Apple, si jamais vous en avez un, je pense que vous n'avez plus grand chose à faire si ce n'est choisir de compiler en "Release" pour le Simulateur ou pour votre iDevice. Si il y a d'autres étapes avant de lancer la compilation, je pense que vous les connaissez.

Quand à ceux qui comme moi n'ont pas de comptes devs chez Apple, il faut avoir lu mon précédent tutoriels en entier, vous vous souviendrez sûrement de ce que nous allons faire là ;) .


1) A l'aide du menu déroulant en haut à gauche de la fenêtre de Xcode, choisissez Release ainsi que Device ou Simulator (en fonction des fichiers que vous avez copier précédemment).
2) Dans le menu de Xcode en haut de l'écran allez dans: Project > Edit Project Settings , puis allez à l'onglet "Build".
3) Réglez le menu déroulant "Configuration" sur "All Configurations".
4) Dans la partie "Code Signing", mettez le nom de votre certificat dans les cases à droite de "Any iOS" et de "Code Signing Identity".
5) (seulement si vous avez fait entièrement mon autre tutoriel sans passer les étapes C et D, sinon ce n'est pas utiles), ajouter gta dans la case à droite de "Other Code Signing Flags".
6) Maintenant revenez à la fenêtre principal de Xcode et cliquez sur "Build and Run".

Finalement, si vous avez choisis de compiler pour le simulateur, ce dernier se lance et après quelques secondes vous affiche une animation SDL (vous voyez normalement des carrés apparaitre très rapidement et aléatoirement sur l'écran, par ailleurs, ne restez pas devant si vous craignez l'épilepsie...), soit vous avez optez pour compiler pour votre iDevice, et dans ce cas (si vous compiler sans compte dévellopeurs, dans le cas contraire je pense que l'application est déjà sur votre iDevice), je vous renvoi à mon autre tutoriel pour savoir comment envoyer le .app sur votre iDevice via SSH ;) .

Image

Image


Sur ces screenshots (le premier provenant du simulateur (réglé en mode iPhone, par défaut il apparait en iPad, mais sinon ça rend pareille), et le second provenant de mon iPhone 3GS) vous ne voyez qu'un seul carré, car il n'y en a qu'un par frame, enfin sa va extrêmement vite, et ça donne l'impression qu'il y en a plusieurs à la fois…
Dernière édition par ptipilote17 le 08 Avr 2011, 00:17, édité 2 fois.
DarkCenobyte Gamer Maitre
Gamer Maitre
Messages: 253
Inscription: 18 Aoû 2009, 08:20

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar mario59600 » 08 Avr 2011, 00:04

merci de editer ton topic et tous mettres en blanc ;)
IDevice: IPhone 5S
Giga : 16Go
Couleur: Gris Sidéral
Firmware: IOS 8 bêtà 4
Desimlock : SFR

Image
mario59600 Gamer Argent
Gamer Argent
Messages: 4458
Inscription: 04 Sep 2009, 02:39
Localisation: maubeuge , 59600 , nord , france
Prénom: MARIO
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar DarkCenobyte » 08 Avr 2011, 00:12

Voilà :)
DarkCenobyte Gamer Maitre
Gamer Maitre
Messages: 253
Inscription: 18 Aoû 2009, 08:20

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar mario59600 » 08 Avr 2011, 00:15

ok merci , parce que le rouge et pour les moderateur ;)
IDevice: IPhone 5S
Giga : 16Go
Couleur: Gris Sidéral
Firmware: IOS 8 bêtà 4
Desimlock : SFR

Image
mario59600 Gamer Argent
Gamer Argent
Messages: 4458
Inscription: 04 Sep 2009, 02:39
Localisation: maubeuge , 59600 , nord , france
Prénom: MARIO
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar padpate » 08 Juil 2011, 23:25

Slut c'est pas mal de pouvoir utilisé la sdl mais c'est limité non? je n'arrive pas a faire une app avec la resolution retina display et je trouve pas de de documentation saurai tu ou en trouver?
padpate Gamer Débutant
Messages: 3
Inscription: 08 Juil 2011, 23:10
Prénom: john
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar Natiks » 09 Juil 2011, 01:48

Bonjour,
J'ai vu que tu ne t'étais pas présenté, je t'invite a aller le faire dans la section approprié ;)
Merci
Wiko Cink Peax Android 4.2 Jelly Bean Noir
PS3 Slim 320 Go
Nokia Lumia 900 WP 7.8
Xbox 360 Flashée + Kinect
Natiks Gamer Or
Gamer Or
Messages: 6290
Inscription: 29 Juil 2010, 00:23
Prénom: Jordan
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar Quentin » 09 Juil 2011, 10:34

Faut que je m'y mette un de ces 4, je met le tuto en favoris, merci ;)
 iPhone 5S - 32Go - Or - Desimlocké - Orange - iOS 7
 MacBook Pro - Intel Core i7 - 2.7 GHz - 8Go RAM - 10.9.3

Mon coup de coeur : AppVip, être rémunéré en testant des applications !
Quentin Gamer Or
Gamer Or
Messages: 7236
Inscription: 01 Jan 2011, 16:03
Localisation: 42000
Prénom: Quentin
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar padpate » 09 Juil 2011, 12:06

ha pas de probleme mais elle es ou cette section apropriée?
padpate Gamer Débutant
Messages: 3
Inscription: 08 Juil 2011, 23:10
Prénom: john
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar Quentin » 09 Juil 2011, 12:07

Ici presentation-des-membres-f10.html Mais rien d'obligatoire ;)
 iPhone 5S - 32Go - Or - Desimlocké - Orange - iOS 7
 MacBook Pro - Intel Core i7 - 2.7 GHz - 8Go RAM - 10.9.3

Mon coup de coeur : AppVip, être rémunéré en testant des applications !
Quentin Gamer Or
Gamer Or
Messages: 7236
Inscription: 01 Jan 2011, 16:03
Localisation: 42000
Prénom: Quentin
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar padpate » 09 Juil 2011, 12:09

d'accord merci =) sinon personne n'a de reponse a ma question? pas moyen de faire une app pour le retina display?
padpate Gamer Débutant
Messages: 3
Inscription: 08 Juil 2011, 23:10
Prénom: john
Pays: France
Sexe: Homme

Re: [TUTO] Compiler la SDL pour iPhone avec Xcode

Message non lupar Natiks » 09 Juil 2011, 14:43

Ben ici on est pas trop dev x)
Mais peut etre que quelqu'un aura une réponse ;)
A+
Wiko Cink Peax Android 4.2 Jelly Bean Noir
PS3 Slim 320 Go
Nokia Lumia 900 WP 7.8
Xbox 360 Flashée + Kinect
Natiks Gamer Or
Gamer Or
Messages: 6290
Inscription: 29 Juil 2010, 00:23
Prénom: Jordan
Pays: France
Sexe: Homme


 

Retourner vers Développement et customisation