CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Xcode] fichiers de données

CislaViensLa
CislaViensLa
Niveau 5
03 avril 2010 à 16:05:30

J'ai un problème récurrent avec Xcode en C/C++
En effet, lorsque que j'interagis avec des fichiers extérieurs au programme (images, textes...), ça fonctionne parfaitement en mode debug, mais pas du tout en release. (Vous me direz, ce n'est pas propre à Xcode) Mais le pire, c'est que le programme debug lancé depuis l'IDE marche, mais pas quand je le lance directement.

Si vous avez une solution :p

Lapintade
Lapintade
Niveau 30
03 avril 2010 à 16:06:35

Quand tu lance, l'exe (directement), es tu sur que les données sont au bon endroit ?
(avec quel chemin tu va chercher les données ? ... un truc du genre "./data/toto.txt" ou "toto.txt" ?)

pilo1488
pilo1488
Niveau 10
03 avril 2010 à 16:52:03

Dans xcode ca peut etre un peu casse tete ce genre de choses :
tu as les fichiers de données qualifiés de "ressources", qui seront dans ton .app, et auquel tu accède avec les méthodes relatives au bundle de ton application. (donc après tu distribue que ton .app)

Sinon tu peux y acceder de facon plus "classique", avec un chemin relatif (ou global) à ton executable.
Dans ce dernier cas, il faut spécifier correctement dans xcode a partir de quel emplacement est executé ton programme (je sais plus du tout ou ca se trouve, dans les options sur le target?), tu peux choisir entre Build/Debug (ou Release), ou bien la racine du projet.
Ce paramètre n'est valable bien sur que quand tu lance ton appli depuis xcode, pour la distribuer il faut que tu mette ton .app et tes fichiers externe comme tu suppose qu'il se trouve dans ton programme.

CislaViensLa
CislaViensLa
Niveau 5
04 avril 2010 à 14:15:55

Le fait de mettre les fichiers images et textes dans le même dossier que le .app ne marche qu'en lançant depuis Xcode? Pourtant ça marchait pour d'autres projets.
Il faut que je debugue un peu, je dois avoir des problèmes d'allocation d'objets (C'est même sûr vu que la release ne se lance même pas).

Lapintade: Xcode->Mac->Pas de exe, dll et fonctionnement un peu different.

CislaViensLa
CislaViensLa
Niveau 5
04 avril 2010 à 14:18:13

Sinon, bien sûr, le chemin est correct, si l'on suppose qu'on part du .app
Le problème sur mac, c'est le bundle .app qui est un dossier... Et donc ça fait bizarre au début.

CislaViensLa
CislaViensLa
Niveau 5
06 avril 2010 à 00:41:14

J'ai testé le coup de tout mettre dans le dossier ressources du bundle et ça marche très bien pour les appels de fichiers! =D Merci merci

pilo1488
pilo1488
Niveau 10
06 avril 2010 à 09:51:02

"Le fait de mettre les fichiers images et textes dans le même dossier que le .app ne marche qu'en lançant depuis Xcode? Pourtant ça marchait pour d'autres projets. "
Non justement ;) dans ce cas la, comme c'est le bundle .app, les data sont toujours avec ton executable. Mais pour y acceder tu doit récupérer le chemin avec CFBundle etc.

Mais tu peux aussi voir ton .app comme un executable "standard" (ca existe? lol), windows/unix, et mettre tes data à coté.

CislaViensLa
CislaViensLa
Niveau 5
06 avril 2010 à 10:39:56

Si tu mets tout dans "ressource" dans le projet (et donc dans le bundle), le chemin de fichier est le même que si les data étaient à coté. un "test.app/Ressources/snd/music.ogg" va être appelé dans le code par "snd/music.ogg". En tout cas, chez moi c'est la seule manière qui marche vraiment bien de réussir à ce que le prog retrouve les fichiers hors IDE. Avant je les mettais à coté du programme dans les dossiers de build et ça ne marchait qu'a partir de Xcode :(
Au pire, si j'ai besoin d'avoir un dossier que l'utilisateur peut modifier (des maps par exemple), je mettrai un raccourci vers l'intérieur du bundle =D

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment