Salut,
Je cherche à solutionner un problème d'accès à un fichier dans un projet assez hybride:
En effet, il utilise C++, la librairie graphique Allegro, et le tout est stocké dans une Application Bundle Mac OS X.(!!)
J'ai dans ce projet la nécessité d'accéder à des fichiers externes (texte brut, images), ce qui lors d'un récent essai de ce projet sous Windows fonctionnait très bien (accès à l'aide d'une instance de la classe ifstream ou de la fonction load_sprite(char *)).
Ok le problème c'est que sur le Mac, même si ça se compile très bien , il ne s'y retrouve plus, et la gestion d'erreur implémentée dans le projet me dit qu'il ne trouve pas le fichier en question.
Alors si une personne plus expérimentée pouvait m'éclairer.
Résumé de la situation sous Windows:
Le .exe généré l'est dans le même répertoire que les fichiers image, et le chemin relatif est respecté, donc ça marche.
Sur le Mac: il me crée un bundle avec la structure suivante
Projet.app/Contents/MacOS/<fichier exécutable>
Projet.app/Resources/<tous mes fichiers ressources en vrac>
J'ai modifié les chemis d'accès dans code source (çàd j'ai mis "../Resources/<nom du fichier>" à la place du nom de fichier seul (sous Win)).
Mais ça n'a pas beaucoup marché... :/
J'ai aussi vérifié, les fichiers ont des droits d'accès OK, rwxr-xr-x je les ai même passés un instant en 777 pour tester.
Une idée ?
Bonne nuit,
Aurélien
Je cherche à solutionner un problème d'accès à un fichier dans un projet assez hybride:
En effet, il utilise C++, la librairie graphique Allegro, et le tout est stocké dans une Application Bundle Mac OS X.(!!)
J'ai dans ce projet la nécessité d'accéder à des fichiers externes (texte brut, images), ce qui lors d'un récent essai de ce projet sous Windows fonctionnait très bien (accès à l'aide d'une instance de la classe ifstream ou de la fonction load_sprite(char *)).
Ok le problème c'est que sur le Mac, même si ça se compile très bien , il ne s'y retrouve plus, et la gestion d'erreur implémentée dans le projet me dit qu'il ne trouve pas le fichier en question.
Alors si une personne plus expérimentée pouvait m'éclairer.
Résumé de la situation sous Windows:
Le .exe généré l'est dans le même répertoire que les fichiers image, et le chemin relatif est respecté, donc ça marche.
Sur le Mac: il me crée un bundle avec la structure suivante
Projet.app/Contents/MacOS/<fichier exécutable>
Projet.app/Resources/<tous mes fichiers ressources en vrac>
J'ai modifié les chemis d'accès dans code source (çàd j'ai mis "../Resources/<nom du fichier>" à la place du nom de fichier seul (sous Win)).
Mais ça n'a pas beaucoup marché... :/
J'ai aussi vérifié, les fichiers ont des droits d'accès OK, rwxr-xr-x je les ai même passés un instant en 777 pour tester.
Une idée ?
Bonne nuit,
Aurélien