Jump to content
soulless

Mac, C++, Xcode

Recommended Posts

Estoy haciendo el proyecto de fin de carrera. Necesito usar unas librerias de C++ y quiero programar con mi mac en xcode.

 

1º Para programar en C++ ¿He de usar Carbon o Cocoa?

 

2º ¿Por donde empiezo? ¿Donde hay tutoriales para crear aplicaciones C++ en xCode?

 

3º Estoy harto de leer libros cuyos ejemplos se basan en librerias de Windows. ¿Algún libro especifico de programación con ejemplos de mac?

Edited by soulless

Share this post


Link to post
Share on other sites
Estoy haciendo el proyecto de fin de carrera. Necesito usar unas librerias de C++ y quiero programar con mi mac en xcode.

 

1º Para programar en C++ ¿He de usar Carbon o Cocoa?

 

2º ¿Por donde empiezo? ¿Donde hay tutoriales para crear aplicaciones C++ en xCode?

 

3º Estoy harto de leer libros cuyos ejemplos se basan en librerias de Windows. ¿Algún libro especifico de programación con ejemplos de mac?

 

Carbon y Cocoa son bibliotecas. Tienen un montón de componentes, como botones, conexiones HTTP, temporizadores, etc. Carbon es para C y Coca para objective-C. Así que ninguno te va a valer. Si es que los necesitas, claro :P

 

Para crearte un proyecto C++, xcode -> file -> new project -> c++ tool. Te creará un main.cpp. A partir de ahí extiendes tus conocimientos de C++ :)

 

C++ es un lenguaje de programación normalizado por la ANSI. Cualquier libro de "aprenda C++" que no esté acompañado de la palabra "microsoft" o "visual" debería valerte. Seguro que en la biblioteca de tu universidad tienes unos cuantos :)

 

Hay un libro electrónico llamado thinking in c++ bastante famoso, la web es

 

http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html

 

para descargar en HTML:

 

http://www.mindview.net/Books/DownloadSites/

 

o si lo prefieres en pdf:

 

http://www.planetpdf.com/developer/article...?ContentID=6634

 

lo leí hace bastante tiempo, no recuerdo que tuviera nada "M$-only" pero a lo mejor me equivoco.

 

Lo que creo que deberías hacer es decir qué aplicación vas a crear, qué necesitas y quizá podamos ayudarte mejor.

 

Un saludo

Share this post


Link to post
Share on other sites

y no olvides leerte la documentación de xcode que hay en la web de apple, amén de en la propia ayuda de xcode. Si no, tendrás problemas para añadir bibliotecas externas, compilar, etc etc etc :)

Share this post


Link to post
Share on other sites

Con el permiso de Soulless aprovecho el hilo por no abrir otro nuevo para consultar una duda que tengo yo también. Yo me encuentro en la tesitura de decidir si aprender Objective-C o por el contrario profundizar en el conocimiento de C++, con el cual ya he tenido algún contacto.

Siempre he sido partidario de elegir lenguajes de programación que permitan portar de una manera más o menos rápida aplicaciones de una plataforma a otra. Mi pregunta es la siguiente, ¿existe alguna manera, o mejor dicho, alguna librería que permita programar con c++ en Mac OS aplicaciones de escritorio, y que posteriormente se puede ejecutar en otras plataformas como linux o windows?.

Share this post


Link to post
Share on other sites

Los únicos toolkit para C++ multiplataforma que conozco son QT y wxWidgets. Hay versiones para windows, linux, mac, y muchos más.

 

wxwidgets tiene un aspecto más cercano al nativo, QT es parecido pero no exacto, pero QT tiene muchas más cosas que wxwidgets.

 

Desde luego, de cocoa te olvidas :)

Edited by voise

Share this post


Link to post
Share on other sites
Los únicos toolkit para C++ multiplataforma que conozco son QT y wxWidgets. Hay versiones para windows, linux, mac, y muchos más.

 

wxwidgets tiene un aspecto más cercano al nativo, QT es parecido pero no exacto, pero QT tiene muchas más cosas que wxwidgets.

 

Desde luego, de cocoa te olvidas :)

 

Claro, es que el problema es ese. Las aplicaciones hechas en con Cocoa tienen mucha más presencia, el problema es que tengo que aprender objective c, y únicamente me va a servir para programar en mac. Creo que seguiré de momento aferrado a Java y profundizando en el uso de C++.

 

Muchas gracias voise.

Share this post


Link to post
Share on other sites

Ante todo mil gracias Voise por tu respuesta, te lo agradezco un monton.

 

Ok, ya he pillado un libro de C++.

 

Lo que creo que deberías hacer es decir qué aplicación vas a crear, qué necesitas y quizá podamos ayudarte mejor.
Lo que quiero es hacer aplicaciones con interfaz gráfica, más concretamente un plugin para Maya usando bibliotecas en C++ para Mac OS X que da Autodesk .

 

El problema es cómo lo enfoco para programar. En XCode da la opción al crear proyecto de "Carbon C++ Standard Aplication" y "Carbon C++ Aplication". ¿Qué tipo de proyecto debo utilizar? ¿Podré crear el interfaz gráfico con Interface Builder?.

 

Con el permiso de Soulless aprovecho el hilo por no abrir otro nuevo […] Mi pregunta es la siguiente, ¿existe alguna manera, o mejor dicho, alguna librería que permita programar con c++ en Mac OS aplicaciones de escritorio, y que posteriormente se puede ejecutar en otras plataformas como linux o windows?.

Sin problema pues yo también tengo esa pregunta. Quiero que mi aplicación pueda ser compilada para funcionar en las tres plataformas pero no sé qué entorno, o que debo hacer para no tener problemas cuando quiera compilar para Windows y Linux.

Edited by soulless

Share this post


Link to post
Share on other sites
Sin problema pues yo también tengo esa pregunta. Quiero que mi aplicación pueda ser compilada para funcionar en las tres plataformas pero no sé qué entorno, o que debo hacer para no tener problemas cuando quiera compilar para Windows y Linux.

 

Pues respecto a mi pregunta, por lo visto esta complicado. Al parecer, si se quiere utilizar C++, la única opción es usar QT o WXWidgets, que son dos API's multiplataforma para programar aplicaciones de escritorio con C++.

 

Con respecto a usar Cocoa en Mac, que es lo ideal, porque sinceramente la presencia que tiene la aplicación no tiene punto de comparación, únicamente existe la posibilidad de usar Objective-C, porque hasta hace poco (creo que aun sigue) tenia también soporte para Java, pero Apple ya recomienda no usarlo y que todo el mundo migre a Objective-C.

 

En mi caso, una de dos, o me decido (creo que me animaré al final), y aprendo Objective-C, o sigo con Java, que si que realmente es un lenguaje multiplataforma sin tener que recurrir a API's "externos".

Share this post


Link to post
Share on other sites
El problema es cómo lo enfoco para programar. En XCode da la opción al crear proyecto de "Carbon C++ Standard Aplication" y "Carbon C++ Aplication". ¿Qué tipo de proyecto debo utilizar? ¿Podré crear el interfaz gráfico con Interface Builder?.

 

no lo creo, IB utiliza mecanismos del lenguaje Ojb-C de los que C++ carece. Y no deberías empezar ningún proyecto con Carbon, su futuro está más negro que el... carbón :P

 

 

Con el permiso de Soulless aprovecho el hilo por no abrir otro nuevo […] Mi pregunta es la siguiente, ¿existe alguna manera, o mejor dicho, alguna librería que permita programar con c++ en Mac OS aplicaciones de escritorio, y que posteriormente se puede ejecutar en otras plataformas como linux o windows?.

Sin problema pues yo también tengo esa pregunta. Quiero que mi aplicación pueda ser compilada para funcionar en las tres plataformas pero no sé qué entorno, o que debo hacer para no tener problemas cuando quiera compilar para Windows y Linux.

 

Si queréis multiplataforma, es de perogrullo pero olvidad todo lo que sea "mac only". Os veo usando QT :)

Share this post


Link to post
Share on other sites

Perdona mi ignorancia pero ¿qué es IB y QT? :blush:

 

Entonces ¿no hay forma de programar aplicaciones en C++ de forma normal con Xcode?

 

ACTUALIZADO: Aprovecho el hilo, he compilado mi primer programa de prueba C++ en Xcode y me sale estos dos errores

 

error: expected `}' at end of input

error: expected unqualified-id at end of input

 

siendo el codigo del main:

 

#include <iostream>

#include <toma.h>

#include <string>

 

int main ()

{

Toma p1;

string NomT, ApeT;

cout << "Introduzca su Nombre:" << endl; // Pide datos

cin >> NomT;

cout << "Introduzca su Apellido:" << endl;

cin >> ApeT;

p1.Asignar(NomT,ApeT);

p1.Print();

return 0;

} <------ Aqui me señala el error

Edited by soulless

Share this post


Link to post
Share on other sites
Perdona mi ignorancia pero ¿qué es IB y QT? :blush:

 

Entonces ¿no hay forma de programar aplicaciones en C++ de forma normal con Xcode?

 

IB = Interface Builder

QT = llevamos hablando de ello un rato, es un framework para hacer aplicaciones con interfaz gráfica de usuario, multiplataforma y programable en C++

 

http://trolltech.com/products/qt

 

Te repito que para programar en C++ sólo tienes que abrir xcode y elegir new project -> c++ tool. Pero tu problema es que quieres hacer:

 

1- ventanitas y botones

2- que sea multiplataforma

3- que sea C++

 

y la única forma de cumplir estas tres necesidades es usar QT o vxwidgets. Ni cocoa, ni carbon ni ninguna tecnología de apple cumple estos requisitos. No puedes apostar por cocoa para eso. Es así de simple.

 

Es lo que tiene el software cerrado, que puede ser muy bueno pero no se lleva bien con nadie más...

Edited by voise

Share this post


Link to post
Share on other sites
Es lo que tiene el software cerrado, que puede ser muy bueno pero no se lleva bien con nadie más...

 

Pero ¿y lo bonito que queda que? :unsure:

Share this post


Link to post
Share on other sites
[…]y la única forma de cumplir estas tres necesidades es usar QT o vxwidgets. Ni cocoa, ni carbon ni ninguna tecnología de apple[…]

Ok, ya lo cojo :(

 

Pues tendré que tirar por ese QT del que me hablas. Ya os contaré como me va...

 

Por supuesto, mil gracias de nuevo voise, si te conociera en persona te invitaria a una birra :lol:

 

Pero ¿y lo bonito que queda que? :unsure:

 

Amen :(

Share this post


Link to post
Share on other sites

Para GUI multiplataforma también se puede usar GTK+ (www.gtk.org), que se suele programar en C, pero tiene una extensión llamada gtkmm (www.gtkmm.org) que permite usar C++. Tiene dos ventajas evidentes, la primera que es soft libre, y la segunda que, en Mac OS X, se están desarrollando las librerías para que las aplicaciones GTK+ usen los gráficos de aplicaciones Cocoa, asi que quedarán bastante integradas en el sistema.

Share this post


Link to post
Share on other sites

gtk es un toolkit muy muy muy bueno, pero el proyecto de portarlo a cocoa está bastante parado, ¿no?

 

Además, tanto QT como wxwidgets son libres :)

 

Un saludo

Share this post


Link to post
Share on other sites
gtk es un toolkit muy muy muy bueno, pero el proyecto de portarlo a cocoa está bastante parado, ¿no?

Todo lo contrario: http://developer.imendio.com/projects/gtk-macosx . Intentos anteriores perdieron fuelle, pero Imendio se lo ha tomado en serio. Ahora están centrados en ejecutar aplicaciones GTK+ sin X11, pero luego procederán a integrarlas gráficamente.

Share this post


Link to post
Share on other sites

Hola hola!

 

aprovechando este tema!

 

espero puedan ayudarme!

 

Me voy iniciando en la programacion compilo en Turbo C++(legendario lo se) es decir en pc, ahora cayò en mis manos os x( increible) pero no se como programar en os x. Tengo la nocion de que se hace en Xcode, realicé un programa llamado struct(veanlo) el problema es que no se como ejecutarlo ya que los comando Run, aparecen en gris. Si les sirve saber que fue lo que hices es:

 

1ro .Mandé mi programa struct desde mi pc a os x

2do. le di doble click a mi programa struct y abrio en Xcode

3ro. el comando para ejecutarlo esta en gris

 

que pasos debo seguir?

 

como ralizo un programa en Xcode?

 

pd: sera bueno dejar Xcode y tomar los multiplataforma QT y wxWidgets. si es así mejor diganme como puedo empezar a programar en estos! y lo descargo ahora mismo!

 

Muuuuchisimas gracias! ustedes expertos! :D

 

 

 

 

#include <iostream.h>

#include <conio.h>

#include <iomanip.h>

struct Fecha

{

int dia;

int mes;

int anhio;

};

 

void leer (Fecha & Reffec);

void imp (const Fecha &RefF);

 

void main (void)

 

ETC...ETC..ECT...

Share this post


Link to post
Share on other sites

Por que no usan mejor "VI" o se descargan un IDE como Netbeans o Eclipse y se olvidan de Xcode que no es lo único que hay para programar, sobre hacer aplicaciones multiplataforma en C++ no es muy fácil, yo optaría por alternativas como Java, Python o hasta Ruby por que no, espero que te haya ayudado, Saludos.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.