Se connecter
Se connecter

ou
Créer un compte

ou
Agrandir
Les Mains dans le Cambouis
Bidouille & Développement Informatique

Sujet Le pub des programmeurs

  • 1 925 réponses
  • 117 participants
  • 123 044 vues
  • 130 followers
Sujet de la discussion Le pub des programmeurs
Salut :coucou: y a des programeurs sur AF si oui vous bossez sous quoi ?
Afficher le sujet de la discussion
571
Ca paraît pas gagné mon Wolfinou, à moins d'installer une version hackée d'OSX sur ton portable, avec pas mal de chances de n'avoir qu'une partie de ton matériel reconnue et de gros soucis en perspective... :|

Affiliation : Dirigeant Fondateur d'Orosys - Two notes Audio Engineering

572
Peut-être GNUstep. C'est un environnement de développement compatible Openstep (l'ancêtre de MacOS X). Il permet de développer des applis compatible UNIX/MacOS/Win32. Sous UNIX, c'est assez mature, par contre le portage sous Win32 est encore jeune et nécessite MinGW (un evironnement UNIX pour Windows pour faire très simple :) ).

Coté langage, c'est de Objective-C: si tu connais le C et ou Java, tu devrais t'y retrouver facilement. Plus d'infos ici
573
Bon j'ai compris, je vais installer un environnement C++ sur un Mac et je vais devoir compiler la librairie JUCE dessus, faire quelques tests... Mais bon comme je disais, normalement je ne devrai avoir à faire que des retouches mineures sur le code, vu que 95% des fonctions sont génériques :mrg:

Merci quand même :clin:

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

574

Citation : Bon j'ai compris, je vais installer un environnement C++ sur un Mac


Ca ça ne doit pas être nécessaire.

Sur mon vieux Powerbook G4 :

Citation :

$ gcc --version
gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1495)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


$ make --version
GNU Make version 3.79, by Richard Stallman and Roland McGrath.
Built for powerpc-apple-darwin7.0
Copyright (C) 1988, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

Report bugs to <bug-make@gnu.org>.



Je me suis jamais trop penché sur la question, mais je crois qu'un environnement Gnu assez classique est systématiquement livré avec OS X (faut juste peut-être installer les outils de développements quand on installe l'OS).

Tu dois facilement en apprendre plus sur le site d'Apple, et sur leurs forums pour développeurs. Sinon avec Google, les infos doivent être facile à trouver.
575
OK merci :clin:

Question subsidiaire sinon... A priori, si j'ai pas envie de tester mon programme sur Mac, est-ce que je pourrais quand même le compiler sur une plateforme Windows en dmg ? A priori ça doit être faisable avec un gcc ?

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

576
Gcc n'est que le compilateur. Pour pouvoir créer des dmg, il te faut Xcode (dispo gratuitement chez Apple).
577

Citation : Question subsidiaire sinon... A priori, si j'ai pas envie de tester mon programme sur Mac, est-ce que je pourrais quand même le compiler sur une plateforme Windows en dmg ? A priori ça doit être faisable avec un gcc ?


Toujours pifométriquement : je serais pas surpris qu'il te manque un paquet de librairies système. J'imagine mal que des gens fassent ainsi de la cross-compilation de Windows vers OS X. De Windows vers Palm, ok, mais vers OS X ? Il me semble plus simple d'acheter un Mac, genre Mac mini.

:noidea:

Sinon le .dmg n'est pas un format de compilation, mais juste de stockage que l'on peut "monter", comme une partition ou une image Iso d'un disque ou encore un fichier tar.

Faudrait que Gabou vienne répondre à tes questions, voire te recompile ton programme.
:mrg:
578

Citation :
J'aimerais savoir si il existe un moyen de compiler et de tester pour la plateforme Mac sur mon PC Windows



Mac OS X utilise gcc comme compilateur, le meme que sous linux, et tous les unix non commerciaux a ma connaissance. Il est possible de fabriquer des cross compiler avec, c'est a dire des des compilo qui vont generer des programmes executables sur une autre machine: par exemple, j'ai un cross compiler sur ma machine linux qui genere du code pour solaris sous Sparc.

En pratique, je pense pas que ce soit super jouable pour ce que tu as en tete: si tu fais un programme non trivial, il va utiliser la librairie C, et il faut donc que tu aies la librairie C pour la plateformce cible. Si tu veux faire un programme en ligne de commande qui depend de 2-3 librairies, ca reste jouable. Si tu veux faire un truc graphique qui va dependre de dizaines (et tres certainement des centaines) de librairies, c'est du delire integral... Sans compter que t'as pas les sources de toute facon pour mac.

En plus, j'ai jamais vu de cross-compiler pour generer du code mac os X; Mac OS X a pas mal de specificites par rapport aux autres Unix (format binaire Mach O vs Elf, librairies dynamiques non standart, etc... Bref, la merde) qui rendent le truc vraiment difficile, j'imagine.

Tout ca pour dire, ce que tu veux faire, c'est possible en theorie, en pratique, je te le deconseille vraiment plus que fortement.

Ce que je te conseille, c'est plutot d'avoir un mac intel, boure de Ram (au moins 2 Go), et d'utiliser parrallel. J'ai un tout petit peu teste sur le mac book de mon petit frere, et ca marche vraiment nickel. Tu codes sous windows qui tourne sous parrallel, et tu peux tester en meme temps sur le mac (ou alors tu peux coder sous mac aussi). Sur le mac book, un linux en graphique tournait assez bien, mais avec 512 Mo de Ram, ca swappe vite. Avec 1 Go, des que tu utilises un peu mac os X et linux en meme temps, c'est limite (et les compilos C++, c'est pas le truc qui aime etre limite en ram: ca bouffe).

Faire du cross platform, c'est chaud. JUCE est cross platform, OK, mais entre le compilo MS et gcc, sur du C++, va y avoir des constructions qui peuvent differer (il parait que le compilateur MS s'est ameliore depuis la version 7; sur la version 6, c'est une horreur, et sur du code C, meme MS 7 est vraiment chiant, style bool qui devient _Bool, etc...).

Ensuite, il va falloir gerer le build; les projets VS, ca marche pas trop sous Mac Os X. Je sais pas quelle est la solution optimale. Ce que j'essayerais, c'est d'utiliser un outil de build qui soit portable et non dependant de l'outil de developpement (CMake et scons). Je sais pas s'il y a possibilite d'import/export entre les dsp/dsw et autres trucs MS et xcode (qui est le VS sous mac).

Pour le testing, parrallel est aussi ce qu'il y a de mieux, je pense.

Mais bon, c'est un probleme qui se pose a tout developpeur audio, donc je pense qu'en allant trainer sur KVR, tu dois trouver des reponses, non ?

En general, le cross platform est balaise; c'est jamais la theorie qui foire, toujours des trucs bien chiant, des petits details: un OS va avoir des noms differents pour les librairies, genre mac os X met la version avant le suffixe alors que tous les autres UNIX a ma connaissance font l'inverse; windows lui ne connait meme pas le principe de versioning des librairies (a moins d'utiliser .Net). Et des exemples comme ca, je peux t'en filer des dizaines, pour des programmes dont l'environnement (au niveau programmation) est beaucoup plus simple qu'un plug in.

Citation :
Tu dois facilement en apprendre plus sur le site d'Apple, et sur leurs forums pour développeurs.



Les forums, je sais pas, mais le site de developpeur d'Apple est vraiment une sombre merde, hyper mal fichue, et c'est super dur de trouver des infos, je trouve. En tout ca, ca donne pas envie de developper pour mac os X.

Je suis loin d'etre un fan de MS, mais au moins, trouver les infos est possible, et tu vois tout de suite la difference de mentalite a ce niveau la, d'ailleurs.

Citation : Je me suis jamais trop penché sur la question, mais je crois qu'un environnement Gnu assez classique est systématiquement livré avec OS X (faut juste peut-être installer les outils de développements quand on installe l'OS).



L'environnement de developpement mac os X est base sur les outils GNU. Le compilateur de xcode, c'est gcc. Donc la desssus, pas de probleme, c'est l'outil officiel.

Par contre, xcode est encore assez limite (version 2.1, du moins). J'aime pas vraiment ces environnement de toute facon, mais au moins, Visual Studio te claque pas trop dans les mains, ou tu comprends pourquoi. Xcode m'a deja retourne des erreurs pas possibles, que j'ai jamais comprises, et ce pour du code qui compilait sans probleme sous le meme compilo sous linux.

C'est toujours pareil avec ces trucs: tant que tu fais ce pour quoi ca a ete concu, ca marche, mais des qu'il faut un peu modifier le truc standart, ca marche tout de suite moins bien.
579

Hors sujet : Il est plaisant de voir comme les comparaisons Vista/Win/Mac/OSX sont ici de haut niveau et surtout passablement dépassionnée :aime:

je repars sur la pointe des pieds

580
Je pense que ton probleme va etre essentiellement le build, en fait. Perso, je connais un peu scons:

http://www.scons.org/

qui est vraiment bon sur le principe, et est utilise par plusieurs gros projets (version GPL de quake 3 et blender, ardour). Comme c'est base sur un langage de scripting vraiment excellent (python), ca permet de gerer beaucoup de chose, mais bon, ca sera quand meme du boulot. Je peux un peu t'aider pour te montrer comment ca marche. Tu auras besoin de connaitre python pour faire des trucs non triviaux.

Il fait aussi l'export vers VS, et peut etre meme vers Xcode.

Il y a aussi CMake, mais je connais tres peu. Kde, un des plus gros projets open source, l'utilise pour la version 4, qui doit marcher sous unix, mac os X et windows.

Il y a aussi make, tout simplement, mais bon, sous windows, j'y crois pas trop, vu qu'il y a pas de shell, a moins d'utiliser mingw ou cygwin, qui sont d'utilisation plus penible (moins que windows, mais quand meme :) ).