Compatibilité Linux & ix86

drminou

Membre confirmé
5 Septembre 2004
99
2
3rd rock from Sun
Hello!

Je suis en train d'installer des tas de choses qui me seront utiles pour faire du développement C++ sur mon tout nouveau tout beau Mac sous OSX.
Mais j'ai les contraintes suivantes :
- Mes programmes devront tourner sous Linux, donc pour ça il y a le support X11, pas de problème. Mais comment dois-je configurer g++ pour qu'il me fasse une application X11? Est-il possible de le configurer quelque part dans XCode?
- Mes programmes devront tourner sous plateformes intel, pour ça j'utiliserai VirtualPC sur lequel j'installerai un Linux pour mes tests de compat. Pour ça pas de problème.
- Mes programmes utiliseront les librairies Qt (pas QuickTime, mais bien les libs d'interfaces graphiques), les librairies OpenGL, peut-être GLUT. Que dois-je installer? Les libs openGL installées avec XCode iront-elles pour des applis X11? Dois-je en installer d'autres? Les graphiques OpenGL utiliseront-ils les ressources de ma carte graphique, ou tout sera software comme lorsqu'on utilise MESA? Enfin, quelle version de Qt dois-je installer? Pas la version MacOS Aqua, j'imagine...
- Xcode sait-il générer le Makefile qui va bien pour compiler l'application sans forcément passer par l'environnement de développement (je pense à ça dans le sens où j'aimerais bien, pour mes tests linux PC, pouvoir juste faire un make et pas devoir me reconstruire le Makefile à chaque fois)?

Bon c'est tout pour l'instant. J'espère que certains d'entre vous ont déjà vécu les expériences que je suis sur le point de vivre et que vous saurez m'aiguiller.

Ciao
 
hello,

Le plus simple est d'utiliser les libs fournies avec fink...
tu installe le serv X11, les lib Qt, Glut & co..
Pour le dev, tu peut utiliser Xcode et pour compiler il suffit juste de veiller à bien linker les bonnes libs.
A priori, si tu n'utilise que stdlib, Qt & glut y'a rien de spécial à faire...

Pour ce qui est du make.. je n'ai jamais fait confiance aux EDI... rien ne vaut une makefile bien foutue à la main, dans laquelle tu puisse tout contrôler.
Le plus simple étant même d'en chopper une existante et de s'en servir comme base...

update : evidemment.. si t'utilise trop de trucs purement linux portés via fink et inexistant nativement sous OSX.. ca sera un peu lourd à installer sous OSX... mais ca facilite énormément le dev...
 
flakk a dit:
hello,
update : evidemment.. si t'utilise trop de trucs purement linux portés via fink et inexistant nativement sous OSX.. ca sera un peu lourd à installer sous OSX... mais ca facilite énormément le dev...

OK! Ça a l'air simple. Je pourrai tester avec mes applis précédentes. A priori, pour le moment, ce sera beaucoup d'animation 3D openGL, rien qui exploite réellement la couche linux, mais je suis sensé faire tout tourner sous une Debian ix86...
 
drminou a dit:
OK! Ça a l'air simple. Je pourrai tester avec mes applis précédentes. A priori, pour le moment, ce sera beaucoup d'animation 3D openGL, rien qui exploite réellement la couche linux, mais je suis sensé faire tout tourner sous une Debian ix86...

Tu peux même utiliser la version OpenGL et GLUT fournis avec OS X. Les seules difficultés de compatibilité que j'ai rencontrés sont des différences dans les chemins de headers (il faut faire du #include <GL/gl.h> sous Linux et du #include <OpenGL/gl.h> sous OS X si je me souviens bien, donc un petit #if __OSX #else suffit en général)

Sinon pour Qt, tu peux installer la version Mac, normalement, si ton code est bien écrit, il sera compilable et tournera avec la version Linux X11 (et aussi avec la version Mac X11), c'est ton choix, mais c'est sympa d'avoir les applis en natif plutot que dans X11.

Enfin pour les makefile, je te conseillerai d'utiliser qmake si tu utilises Qt, il fait en général bien les choses.
Et enfin, la cerise sur le gateau, tu peux importer un projet Qt dans XCode pour pouvoir utiliser facilement sans difficultés XCode. Une petite recherche Google te donnera la ligne de commande pour générer un .xcode à partir d'un projet Qt.

Bob
 
Merci pour les infos!!

Bobbus a dit:
Tu peux même utiliser la version OpenGL et GLUT fournis avec OS X. Les seules difficultés de compatibilité que j'ai rencontrés sont des différences dans les chemins de headers (il faut faire du #include <GL/gl.h> sous Linux et du #include <OpenGL/gl.h> sous OS X si je me souviens bien, donc un petit #if __OSX #else suffit en général)

Je peux aussi faire un lien symbolique nommé "GL" du répertoire OpenGL :)
Sinon pour tester le systeme, il faut mettre deux underscores avant pour OSX, c'est bien ça?