Solution complète pour l'écriture de Mac OS X application en C++
Je suis à la recherche de solutions de rechange pour mon boitier actuel et Mac OS X semble très attrayante.
Mon centre d'intérêt principal est la programmation en C++. Actuellement, je suis en utilisant Eclipse + CDT et g++ pour la création de mon logiciel, il est parfois KDevelop.
Je sais que primaire IDE pour Mac est Xcode et la première langue est l'Objective-C. je voudrais éviter d'apprendre Objective-C, si possible. J'ai aussi entendu/lu que il y a certains problèmes dans l'accès à un Mac OS X Api C++.
D'où ma question:
quelle est la solution complète pour le développement/débogage/tests applications C++ que l'accès de tous les aspects du matériel de l'INTERFACE utilisateur, le son, la vidéo/vidéo accéléré, etc.) pour Mac OS X?
Edit: comment Xcode comparer à l'Eclipse+CDT combo? Si cette comparaison est possible...
Objective-C serait nécessaire pour une application Cocoa, si je ne me trompe pas.
btw. J'ai aussi lu que l'Objective-C est un langage de niche uniquement utilisé par Apple; ainsi en est-il vraiment la peine l'effort d'apprendre tout ça?
Oui, il est. C'est juste une partie de la causerie sur le dessus de c, donc il n'y a pas beaucoup d'effort. C'est un créneau langue utilisée le plus rapidement segment de marché en croissance.
OriginalL'auteur Marcin Gil | 2009-03-11
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez utiliser le C++ au lieu de l'Objective-C, et encore veulent éviter une couche intermédiaire de bibliothèques (comme QT), vous pouvez utiliser De carbone.
Je voudrais utiliser XCode au lieu de l'Éclipse tout simplement parce que Eclipse est beaucoup plus lent lorsque vous traitez avec hardcore programmation C/C++ (compiler, déboguer, tester).
Quand j'ai commencé à programmer sous Mac OS X, j'étais dans la même page, vous êtes maintenant. J'ai pensé qu'il était préférable de s'en tenir à la langue que je connais (C++) et d'utiliser une ancienne bibliothèque (Carbone). Pour une raison que je ne me souviens pas maintenant, je me suis forcé dans le Cacao (Objective-C). En regardant en arrière, je pense que c'était une bonne chose parce que:
Lire la question. Que feriez-vous utiliser si vous voulez le code C++ applications avec interface graphique de Mac OS X?
OriginalL'auteur Pablo Santa Cruz
Vous devriez pas éviter d'apprendre Objective-C et Cocoa. Il devrait en fait être la première chose que vous faites. Sauf si vous avez une solide expérience en Smalltalk, vous avez peu de chances d'avoir été exposés à une grande (ensemble de) cadre qui est ainsi conçu.
OriginalL'auteur Stephan Eggermont
Objective-C n'est pas difficile. Si vous connaissez le C++, il vous faudra un jour ou trois d'appliquer un effort pour apprendre les conventions.
Le Cacao Api et les conventions de prendre plus de temps, mais ceux qui viennent dans le temps.
Bonne chance!
OriginalL'auteur Genericrich
Sauf si vous êtes à la recherche à l'aide d'une couche intermédiaire comme QT, je pense que vous êtes un peu coincé avec Objective-C à l'interface avec les parties de l'API comme le GUI que c'est leur langue maternelle.
Cela dit, il a été mentionné que vous pouvez facilement mélanger code Objective-C et C++ code de sorte que vous pouvez toujours être en mesure d'écrire la majorité de votre application en C++.
Je suis principalement un programmeur C++ mais je suis toujours tenté sa chance dans d'autres langues, et j'ai eu un jeu avec XCode (oui, j'ai un Mac). Je l'ai aimé, c'est un peu différent, mais comme un moyen de clouer un OS X GUI, c'est superbe et le reste est entre vous et votre éditeur favori si vous n'aimez pas XCode que beaucoup.
Je suis à peu près dans le même bateau - je suis un vieil utilisateur Unix/Linux et développeur, mais je n'ai jamais vraiment été tenté d'écrire des applications à interface graphique. Et OS X semble être le meilleur des deux mondes avec un superbe uniforme GUI et Unix-dessous.
OriginalL'auteur Timo Geusch
J'ai été jouer en Objective-C++ pour écrire l'INTERFACE utilisateur, le rendant plus facile à utiliser C++ pour écrire l'application back-end. Il semble fonctionner assez bien pour moi. Objective-C & Objective-C++ sont assez faciles à ramasser et cela me permet de continuer à utiliser mon dur-gagné des compétences en C++.
OriginalL'auteur Ferruccio
Il n'est pas un problème à l'aide de gcc ou g++ à partir d'OS X. L'installer XCode vous donne ces compilateurs de toute façon, et si vous le voulez bien, vous pouvez charger un serveur x instance et d'obtenir KDE de travail. J'aime le XCode éditeur de moi-même. Eclipse fonctionne également avec OS X, donc vous devriez être en mesure d'utiliser votre environnement actuel.
J'ai utilisé un OS X boîte pour cross-compiler le code C à partir de PPC en arc de BRAS en arc avant, pas de problèmes. C'est juste un autre *nix système de style, de sorte que tous les outils qui vous sont familiers avec existe déjà, et si ils ne le font pas, il suffit d'utiliser fink ou macports à faire vous-même.
Aussi, si vous avez vraiment envie d'utiliser C++ pour le développement d'interface graphique apps OS X, vous pouvez toujours utiliser de Carbone à la place du Cacao. Il est parfaitement viable choix, seulement un peu obsolète.
L'apprentissage de Carbone est une mauvaise idée. Tout ce pour lequel il existe un équivalent de cacao est effectivement obsolète, et le carbone gui api ne sera jamais 64-bit clean. C'est beaucoup mieux d'utiliser Objective-C++ à l'interface avec le Cacao, et de l'utilisation de Carbone uniquement lorsque c'est absolument nécessaire.
OriginalL'auteur Alex Fort
De carbone sur Mac OS X est effectivement obsolète - il n'est pas et ne prendra pas en charge 64 bits apps.
Si vraiment vous voulez vraiment utiliser c++, l'utilisation Qt Creator
Qui est maintenant libre et le trolltech SDK de Qt 4.5, alors que c'est un c++ cadre, il utilise en interne Objective-C pour interagir avec MAC OS X, alors vous n'êtes pas limité par le Carbone.
L'inconvénient est que le trolltech les bibliothèques ne sont pas de série sur le mac, vous devez fournir avec votre application.
OriginalL'auteur jdkoftinoff
C++ fonctionne très bien avec Xcode. Si vous voulez de cacao, vous pouvez en apprendre un peu (et je veux dire vraiment minime) montant de l'Obj-C pour la couche gui et le gros de votre code en C++.
Une autre option est d'utiliser l'un des langage de script cadres pour l'accrochage dans les API Cocoa (comme PyObjc) et la majeure partie de votre logique en C++.
La troisième et dernière option est d'utiliser une plate-forme de gui kit comme Qt4. Si il y a une volonté de faire de vos bibliothèques de la croix-plate-forme, ce serait la voie à suivre.
Je déconseille d'aller avec le Carbone. C'est certainement une mort bête. Vous pouvez aussi utiliser des combinaisons de ce qui précède fournissant une bibliothèque avec votre code C++, puis la création de gui spécifiques de l'INTERFACE utilisateur qui les relient entre eux.
OriginalL'auteur jkyle
Je suis d'accord avec Pablo de Santa Cruz et tiens à ajouter que, il est trivial de mélanger Objective-C et C++ dans la même application et le même fichier source). Ceci est appelé l'Objective-C++ et discuté dans cet article.
XCode compile avec GCC si vous avez Objective-C, C, C++ et prêt à vos bouts de doigt.
OriginalL'auteur John Fricker
Je ne l'ai pas utilisé sur OSX moi-même (je peux le recommander sur Windows), mais le Code::Blocks C++ IDE est mis en œuvre à l'aide et du soutien, la croix-plate-forme de wxWidgets la bibliothèque d'interface graphique. Il est pris en charge sur OSX - voir cette page.
OriginalL'auteur
Je vous conseille de coller avec n'importe quel IDE, vous êtes plus à l'aise avec. Personnellement, j'ai détesté Xcode la première fois que j'ai utilisé et il a refusé de renoncer à Eclipse. Après quelques jours, j'ai réchauffé à Xcode et n'avez pas peur de l'utiliser de temps à autre. Cependant, j'ai toujours utiliser Eclipse chaque fois que possible.
Rappelez-vous juste que vous ne pouvez pas écrire de Cacao applications à l'aide de C++, vous avez besoin de plonger dans l'Obj-C pour que. De carbone, les applications n'ont pas assez de look ou de se comporter comme un Cacao app. La plupart des gens ne sont pas vraiment l'esprit, mais c'est quelque chose à penser. J'ai sauté en Obj-C à partir de java/C# sans aucun problème. La langue, il faut un peu s'y habituer, mais il n'est pas très difficile.
OriginalL'auteur Alexander
Pour certains petits hobby projets, et d'une application iPhone, je suis en train de faire, je suis en utilisant un mélange de objective C++ et "réel" C++. XCode prend en charge le mélange des deux langues assez bien. J'utilise objectif C/objective-C++ pour l'interface utilisateur et une mince couche entre les OSX cadres et mon propre code. Jusqu'à présent, cela s'est avéré être une excellente façon de travailler.
OriginalL'auteur Emiel
L'environnement de développement que j'utilise en ce moment pour le développement dans le Mac est QTCreator qui est gratuit IDE pour le développement de l'intervalle QT avec gcc comme compilateur. Il donne toutes les fonctionnalités dont j'ai besoin et il est multi plate-forme (une des exigences de l'application que je suis en développement).
Je dois dire que j'ai été assez impressionné. Je n'avais pas de grands espoirs pour un tel concentré spécialement conçus pour QT) et de récentes IDE. L'environnement est simple mais puissant (y compris l'édition de GUI) et a la meilleure complétion de code que j'ai jamais vu. C'est un jeu d'enfant de programmation dans cet environnement et ne manquez pas un peu de Visual Studio.
Vraiment la peine d'essayer.
OriginalL'auteur Josep
Si vous voulez vraiment utiliser C++ sous Mac OS X, utilisez quelque chose comme SDL /wxWidgets /Qt.
Il y a la possibilité de combiner Objective-C et C++, appelé Objective-C++. Vous pouvez l'utiliser pour tous vos modèle-trucs et il suffit d'utiliser Objective-C pour le stuff, ce n'est pas possible sans la Fondation-cadre.
Comme une dernière option, De carbone vient à l'esprit. C'est un cadre autochtone qui a été utilisé dans la pré-OSX fois, mais fonctionne sur Mac OS X. Le problème est, il n'est pas pris en charge pour les nouvelles technologies et je pense que la prochaine version de mac OS X, Snow Leopard, ne va pas soutenir à tous.
Apple dit:
Ne pas s'attendre à des applications de Carbone à 100% native et c'est beaucoup plus compliqué pour la programmation de Cacao.
Cependant, je vous recommande Objectif d'apprentissage-C, il n'est pas difficile et il ya beaucoup de puissants cadres comme CoreData, CoreGraphics et la comme.
OriginalL'auteur Georg Schölly