# IDE C++ sur Mac vos Avis



## poco (21 Janvier 2010)

Bon je sais je vais me faire écharper, mais...

J'essaie de trouver un IDE crossplatform OpenSource me permettant d'apprendre le C++

J'ai trouvé différents IDE, mais j'aimerai avoir vos opinions (NetBeans, CodeBlocks, CodeLite...).

Pour l'instant je désire apprendre le C++ donc pas les Dev Tools d'Apple (Objective C n'étant que OS X si je ne trompe) car je désirerai pouvoir apprendre à développer (modestement) sur mon Mac et être capable de créer des petites applications pour Win/Linux pour mon boulot.

PS : La raison de Win/Linux étant l'impossibilité d'avoir un Mac (complet avec écran et Clavier) à moins de 400 => Exit OS X pour cette fois-ci (snif!!!).

Merci par avance,


----------



## Bladrak (21 Janvier 2010)

Hello,

Tu peux faire du C++ sur xCode il me semble (je n'ai jamais essayé). Par contre il faudra faire quelques manips si tu veux utiliser STL je crois.

Sinon en IDE openSource et cross-platforms pour le C++ il y a Eclipse (grumff, sors de ce corps!!!).
Tu pourras tout faire avec 

Sinon je dis peut-être une connerie mais il me semble que tu peux compiler de l'Obj-C pour Windows ou Linux. Les problèmes de compatibilité entre les plateformes sont dues aux frameworks que tu utilises pour intéragir avec le système (interfaces utilisateur/manipulations diverses), pas aux langages de programmation utilisés.


----------



## [Vezøul]Numerø41 (21 Janvier 2010)

L'objective-C est géré par GCC qui existe aussi bien sous Mac (utilisé par XCode), Windows et Linux ou Unix divers.    

XCode gère la syntaxe C++. Ensuite oui il compile du C++ facilement puisqu'il utilise GCC.    

Tu peux donc utiliser XCode comme IDE, mais pour avoir un projet compatible multiplateforme je te conseil de passer par un makefile classique de type texte. C'est ce qu'il y a de mieux à mon sens car si tu utilise des librairies externes, elles ne sont pas toujours au même endroit suivant les OS et le makefile te permet de gérer manuellement ce genre de problème et d'exécuter des scripts avant et après compilation et link pour automatiser le tout quelque soit l'OS. De plus en passant des paramètres que tu auras choisi par toi même à ton makefile, tu pourras customiser ta compilation ou link.


----------



## poco (21 Janvier 2010)

[Vezøul]Numerø41;5362041 a dit:
			
		

> L'objective-C est géré par GCC qui existe aussi bien sous Mac (utilisé par XCode), Windows et Linux ou Unix divers.
> 
> XCode gère la syntaxe C++. Ensuite oui il compile du C++ facilement puisqu'il utilise GCC.
> 
> Tu peux donc utiliser XCode comme IDE, mais pour avoir un projet compatible multiplateforme je te conseil de passer par un makefile classique de type texte. C'est ce qu'il y a de mieux à mon sens car si tu utilise des librairies externes, elles ne sont pas toujours au même endroit suivant les OS et le makefile te permet de gérer manuellement ce genre de problème et d'exécuter des scripts avant et après compilation et link pour automatiser le tout quelque soit l'OS. De plus en passant des paramètres que tu auras choisi par toi même à ton makefile, tu pourras customiser ta compilation ou link.



Ohéééé !!! 

J'ai dit que je débutais :rateau:

Pour tout dire je connais Realbasic, php (non objet), html/css, mais en C++ j'en suis au site du zero (siteduzero.com)  :rateau:

Si j'ai bien compris je peux utiliser l'IDE de Xcode pour apprendre. Et si j'ai aussi bien compris je peux me lancer en Objective C qui sera utilisable sur Win/Linux


PS : Merci quand même vous êtes des puits de connaissance.


----------



## [Vezøul]Numerø41 (21 Janvier 2010)

Bon bah si tu débute au temps pour moi. Tiens toi alors à un IDE existant sur les 3 OS comme Eclipse ou NetBeans.


----------



## poco (21 Janvier 2010)

[Vezøul]Numerø41;5362485 a dit:
			
		

> Bon bah si tu débute au temps pour moi. Tiens toi alors à un IDE existant sur les 3 OS comme Eclipse ou NetBeans.



OK, merci tout de même. Je risque d'y revenir si tout se passe bien ;-)


----------



## [Vezøul]Numerø41 (21 Janvier 2010)

Mais bon tu peux toujours te servir de n'importe quel IDE pour éditer tes fichiers C/C++, c'est juste que niveau compilation et link il te faudra le faire à la main ou bien alors connaitres les différentes options de tes IDE de chaque OS.


----------



## ntx (21 Janvier 2010)

poco a dit:


> Et si j'ai aussi bien compris je peux me lancer en Objective C qui sera utilisable sur Win/Linux


Obj-C en lui même oui, mais pas Cocoa


----------



## poco (21 Janvier 2010)

ntx a dit:


> Obj-C en lui même oui, mais pas Cocoa



Compris chef!


----------



## Céroce (22 Janvier 2010)

poco a dit:


> Si j'ai bien compris je peux utiliser l'IDE de Xcode pour apprendre. Et si j'ai aussi bien compris je peux me lancer en Objective C qui sera utilisable sur Win/Linux



Ne perds pas ton temps à chercher à programmer en ObjC sur autre chose qu'un Mac. Sans Core Foundation (une des parties de Cocoa), ObjC est inutilisable. Il en existe des versions pour Linux et Windows, mais elles ne sont pas abouties.

Par ailleurs, je n'ai pas compris si c'était clair pour toi, mais si tu veux un logiciel qui tourne sur les 3 plateformes, il te faut utiliser des bibliothèques de classe multiplateformes, par exemple Qt.


----------



## [Vezøul]Numerø41 (22 Janvier 2010)

Céroce a dit:


> Ne perds pas ton temps à chercher à programmer en ObjC sur autre chose qu'un Mac. Sans Core Foundation (une des parties de Cocoa), ObjC est inutilisable. Il en existe des versions pour Linux et Windows, mais elles ne sont pas abouties.



C'est pourquoi j'ai participé pendant 3 ans dans une équipe à la maintenance et le développement de trois applications pour des opérateurs téléphoniques très connus en ObjC sous Linux que des millions de gens dans le monde ont au moins utilisé une fois sans le savoir et l'utilise encore aujourd'hui, parce que ce n'est pas abouti.   

Il voulait faire l'objective-C, il peut le faire. Maintenant s'il veut faire du Cocoa et utiliser les Frameworks d'Apple c'est autre chose. Sinon pour débuter peut-être trouveras-t-il plus de guides et d'aide en C++. En tout cas je préconise le C++ plus que le Java. Ou alors oui pour le Java pour les bases car c'est plus facile en général, mais il faut vite passer au C++ histoire de savoir ce qu'est un pointeur et la mémoire. Parce que le nombre de diplômés bac+5 qui arrivent et qui ne savent même pas ce qu'est la différence entre une référence et pointeur parce qu'ils n'ont fait que confiance au garbage collector pendant leurs études, c'est impressionnant.


----------



## poco (22 Janvier 2010)

Céroce a dit:


> Par ailleurs, je n'ai pas compris si c'était clair pour toi, mais si tu veux un logiciel qui tourne sur les 3 plateformes, il te faut utiliser des bibliothèques de classe multiplateformes, par exemple Qt.



Oui, j'ai saisi dans mes "études" que l'on pouvait considérer des langages comme C++, Obj C... qu'il existe un langage (cout, cin, etc...) et d'autre part des bibliothèques écrites dans ce langage (donc adressables par lui) dont certaines spécifiques à l'OS (création du GUI par exemple).

Pour le GUI multi-plateformes on voit beaucoup apparaître les bibliothèques "qt" que tu mentionnes. Est-ce ce qui est utilisé dans des softs comme OpenOffice?


----------



## [Vezøul]Numerø41 (22 Janvier 2010)

En tout cas pour une GUI multiplateforme je préconise aussi QT qui commence à être mûr.


----------



## Céroce (25 Janvier 2010)

[Vezøul]Numerø41;5363314 a dit:
			
		

> C'est pourquoi j'ai participé pendant 3 ans dans une équipe à la maintenance et le développement de trois applications pour des opérateurs téléphoniques très connus en ObjC sous Linux que des millions de gens dans le monde ont au moins utilisé une fois sans le savoir et l'utilise encore aujourd'hui, parce que ce n'est pas abouti.



OK, GNUStep est arrivé au niveau d'OpenStep de 1998, mais de là à le conseiller&#8230;

Il est assez rare d'apprendre un langage de programmation pour le plaisir. Dans le cas du Mac, on utilise ObjC parce qu'on n'a pas trop le choix (ce qui n'enlève rien à ses qualités).

---------- Nouveau message ajouté à 13h11 ---------- Le message précédent a été envoyé à 13h02 ----------




poco a dit:


> Pour le GUI multi-plateformes on voit beaucoup apparaître les bibliothèques "qt" que tu mentionnes. Est-ce ce qui est utilisé dans des softs comme OpenOffice?



Pour OpenOffice, je ne crois pas, mais il est vraiment très utilisé. Par exemple pour Google Earth. Je trouve l'intégration à Mac OS plutôt bonne (par exemple, comparé à Java/Swing).


----------



## tatouille (25 Janvier 2010)

pour debuter en C++ utiliser des frameworks UI cross-platform c'est pas le top meme si ces backends travaillent sur differentes platformes ton code doit aussi s'adapter et porter la difference, WX est plus simple d'approche,

je te conseillerais plutot une linux box / emacs / autotools / et boost comme premiere framework a manipuler en plus de la STL, ca te prendra deja quelques mois voir une annee pour etre confortable avec les bases, confortable avec le language -> quelques annees


----------



## grumff (26 Janvier 2010)

Si le but c'est de faire une appli c++ multi plateforme, y'a pas photo l'idéal c'est de te tourner vers QT. Après c'est sûr, c'est pas forcément le plus évident pour débuter, mais bon, quand on veut on peut.


----------

