Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Le pub des programmeurs

  • 1 927 réponses
  • 117 participants
  • 131 716 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
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 :) ).
581
Merci beaucoup des infos Gabou :mrg:

Là je crois que j'ai trouvé un plan de toutes façons... J'ai un voisin avec un mac, je lui emprunterai pour compiler la première version de mon soft, il faudra essentiellement que je compile la librairie JUCE dessus.

Merci pour les références sur le Mac :clin: Et j'irais quand même poster un message sur KVRAudio quand j'en serai là (ce qui n'est pas encore le cas d'ailleurs :ptdr: ).

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

582

Citation : Ce que je te conseille, c'est plutot d'avoir un mac intel, boure de Ram (au moins 2 Go), et d'utiliser parrallel.



+1, c'est la solution que j'ai retenue pour ma boîte. Et les dernières config en imac (le mac pro est inaccessible pour moi poulr l'instant) sont assez intéressantes.

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

583
Cmake génère un makefile sous Linux et OSX, en fait, et des fichiers projets pour le compilateurs adéquat sous Windows ;)
584
Tiens salut Miles :boire:

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

585

Citation : Cmake génère un makefile sous Linux et OSX, en fait, et des fichiers projets pour le compilateurs adéquat sous Windows



Oui mais pour tout ce qui est interface graphique tu es coincé, non ?

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

586

Citation :
Oui mais pour tout ce qui est interface graphique tu es coincé, non ?



Tu veux dire au niveau de l'IDE ou du projet construit ? Pour l'IDE, normalement, tu peux utiliser des outils de build exterieur (Xcode, c'est bien comme ca qu'il fait), et je pense que meme Visual Studio le permet.

Finalement, c'est comme ton outil de gestion de source. Personne ayant plus de 2 neurones utilise le gestionnaire de Visual Studio (source safe je ne sais quoi, un des trucs les plus pourris que MS n'ai jamais produit). T'utilise CVS, svn, bitkeeper, etc...

Apres, je sais pas a quel point c'est facile de garder synchro ton outil de build et visual studio ou xcode, par exemple. C'est essentiellement pour cette raison que je trouve que ces outils sont pas terribles perso.
587
Flag.
588
589
Merci, j'ai bien apprécié le reportage :)
Sinon par rapport aux interfaces, regarde aussi du coté de l'OpenGL ...

cptn.io

590
Nonconforme > pas compris :((
En fait, cmake doit être lancé une fois avec les bons paramètres selon ce qu'on veut activer, et si on modifie le fichier de projet, le makefile/la solution Visual/... relance automatiquement cmake et se remet à jour. Donc pas besoin d'interface graphique, mais sous Windows, il y a une UI pour lancer cmake avec les bons paramètres - officiellement -.
591
Quand tu rajoute disons une librairie exterieure a ton projet visual, il modifie tout seul les fichiers utilises par cmake pour regenerer ses Makefile ?

Tiens, d'ailleurs, j'ai une question a propos de CMAKE. Est-ce que c'est facile a etendre ? En gros, je reflechis un peu pour avoir un outil qui puisse installer tout un environnement donne (python + modules + librairies C et cie), en cherchant eventuellement les sources sur le net si necessaire, un peu comme le systeme port de BSD.

Tu penses que c'est faisable avec CMAKE ? Le probleme, c'est que je veux pouvoir eventuellement piquer les sources d'un programme a travers CVS/SVN/BAZAAR si necessaire, pas forcement a partir d'un simple tar.gz.
592
Miles, je suis complètement hors sujet, ça explique ton incompréhension. Je faisais référence aux librairies graphiques spécifique Win ou OSX qu'il faut bien adapter pour passer d'une plate forme à l'autre, et ça c'est juste le minimum. Rien de plus. ;)

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

593
Sinon quelqu'un a déjà bossé sur une communication PC->machine avec des composants qui font de la conversion USB/série ?

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

594

Citation :
Miles, je suis complètement hors sujet, ça explique ton incompréhension. Je faisais référence aux librairies graphiques spécifique Win ou OSX qu'il faut bien adapter pour passer d'une plate forme à l'autre, et ça c'est juste le minimum.



Qt, c'est pas une option pour toi ? Sinon, designer son propre toolkit graphique cross plateforme, c'est long, penible et demande une bonne connaissance des plateformes supportees.
595
On a déjà développé sur QT sous linux. Mais le prix des licences me donne très envie de faire du java. :|

Citation : Sinon, designer son propre toolkit graphique cross plateforme, c'est long, penible et demande une bonne connaissance des plateformes supportees.



Et ça je ne l'envisage pas une seule seconde. :surpris:

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

596

Citation :
On a déjà développé sur QT sous linux. Mais le prix des licences me donne très envie de faire du java.



du java :surpris: Pour des interfaces graphiques ? On parle pas d'applis musicales, la, rassure moi ?

QT, c'est 1500 euros/developeur/an en gros, non ? Je trouve pas ca tres cher, ca fait meme pas un mois de salaire de developeur paye au lance pierre, et toute autre solution prendra largement plus d'un mois de developpement. A moins d'avoir un developeur qui connait hyper bien les deux plateformes windows et Mac, je suis pas sur de voir beaucouop d'autres solutions ?

Les quelques exemples que je connais de petites boites dans la MAO, elles ont en general developpe leur propre toolkit, mais ca prend vachement de temps et de competences (te faut un ou deux geek pendant plusieurs mois).
597
Dites, je serais tenté de m'essayer à la prog audio, par exemple en commençant un VSTi ...

mais pour l'instant je n'ai jamais touché à de la prog en audio, je n'ai aucune idée des connaissances qu'il doit falloir avoir ... surtout que je suis pas non plus un spécialiste en synthèse par exemple ...

Bref, je me demandais s'il fallait avoir des connaissances particulières en maths ? Vu que c'est pas mon point fort, j'ai peur d'être bloqué par les maths..

Et je suppose qu'on peut trouver de la doc sur le sujet sur le net ?
De quoi débuter en fait ? Est-ce qu'il existe des sites avec des tutoriels consacrés à l'audio comme ça existe pour les jeux vidéo par exemple ?

Si vous avez des liens... je prends ;)
598

Citation : Du java Pour des interfaces graphiques ? On parle pas d'applis musicales, la, rassure moi ?



Non, on parle juste d'interface graphique avec gestion d'une communication USB ou série, pas de calculs qui fatiguent la tête.:clin:

Citation : QT, c'est 1500 euros/developeur/an en gros, non ?



C'est le prix de base, oui. Pour du petit projet apparemment ça doit faire l'affaire. Mais mon budget est plutôt restreint actuellement...

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

599
Ah ok, ca se justifie un peu plus.

Mais s7IL s'agit d'un truc relativement simple pour lequel tu n'as pas besoin de faire tes propres widget un tant oit peu comlexes, faire un truc cross platform de base devrait etre suffisant, non ? Au pire, utiliser un truc comme wxwidget ?

Java, tu vas surement te recolter pleins de problemes de version et cie (par exemple, version de java sur tiger vs panther vs windows ?) Je te conseille quand meme de bien regarder java sur mac cote applis desktop comment ca marche (si personne ne connait dans ton equipe, ca me semble un peu risque).

J'y connais rien en financement d'une compagnie naissante, mais je vois bien le probleme que peut poser 1500 euros....

Question con: si le truc est dans le hardware, pourquoi ne pas developper l'appli en GPL, et ainsi beneficier de qt gratuitement >
600

Citation : Au pire, utiliser un truc comme wxwidget ?



Connais pas. Mon ingé oui, m'enfin ça l'a pas ému quand je lui ai cité. Lui aime QT, donc y'a des chances qu'on parte là-dessus.

Java c'est une boutade. j'ai codé sur java pendant ma thèse, et les soucis de versions j'en ai soupé.

Citation : si le truc est dans le hardware, pourquoi ne pas developper l'appli en GPL, et ainsi beneficier de qt gratuitement >



nein, c'est du pur soft sur PC/Mac. Je ne peux pas développer en GPL.

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