novato con algunas dudas de la relacion que hay entre c++ y Qt
-
Hola
Pues la relación entre C++ y Qt es que Qt está escrito en C++, por lo que si tu librería está hecha en C++, no deberías tener problemas para usarla desde Qt.
O, ¿ Lo que quieres es migrarla a Qt?
Saludos
-
Repasemos un poco la creación de bibliotecas estáticas en Linux:
Tienes una gran cantidad de clases muy útiles en los archivos miClase.h y miClase.cpp en el directorio
/home/jespinoza/myLib
y compilas (solo compilar, no hace falta linkear) con el comando
g++ -Wall -c miClase.cpp
Eso te genera el archivo objeto
miClase.o
Ahora creas la biblioteca estática a partir de ese archivo objeto (podrían ser más archivos objeto) usando el comando
ar -cvq libXXX miClase.o
lo cual te genera la biblioteca estática libXXX.a
Esta biblioteca estática libXXX.a es la que quieres ahora usar desde Qt para hacer la Interfaz Gráfica. Fíjate bien en el prefijo lib de la biblioteca que estas creando ya que eso es un standard y tiene un uso cuando se referencia.
Al crear un Proyecto Qt con QtCreator el IDE crea automáticamente un archivo con el nombre del proyecto y extensión .pro. Por ejemplo, si el Proyecto se llama Novato, creara un archivo Novato.pro
En ese archivo agrega
INCLUDEPATH += -I/home/jespinoza/myLib
es decir, la ruta donde están los archivos xxx.h que quieres ver, precedido con un signo menos y una I de Include mayúscula .Ahora agrega
LIBS += -L/home/jespinoza/lib/myLib -lXXX
es decir, la ruta donde está la biblioteca que quieres usar, precedido por un signo menos y una L mayúscula de Librería. A continuación de la ruta un espacio, el signo menos, la letra l de librería en minúscula indicando que es una biblioteca
y XXX el nombre de la biblioteca SIN el prefijo lib que había comentado antes.
Con esto ya puedes trabajar tu biblioteca estática desde un Proyecto en Qt.Hacerlo en Windows y/o con librerías dinámicas es similar.
-
Este tema que nos plantea @lhuxus23 me parece demasiado importante, tanto para los que como él tenemos unas series de bibliotecas personales muy útiles como para los que hemos programado con otros Framework (Visual C++, GTK, Borland Builder, etc) y no queremos perder todo el trabajo hecho.
Veo que la respuesta que dí anteriormente es demasiado simple para un tema tan complejo e interesante. Es por eso que he creado un blog en el cual me he propuesto profundizar sobre este tema (C++, Qt, QML). La dirección es:
https://cplusplusguiqt.wordpress.com/Está desarrollado el 1er capítulo el cual pueden encontrar en el menú "Aprendamos a Programar… Programando" del blog
-
Hola
@Julio-Espinoza said:
Veo que la respuesta que dí anteriormente es demasiado simple para un tema tan complejo e interesante. Es por eso que he creado un blog en el cual me he propuesto profundizar sobre este tema (C++, Qt, QML). La dirección es:
https://cplusplusguiqt.wordpress.com/Pues ya me tienes por allí leyendo todo lo que pongas :)
Suerte con el Blog. Un saludo
-
En el blog que les había dicho https://cplusplusguiqt.wordpress.com/ está un nuevo ejemplo COMPLETO sobre una aplicación hecha con C++ y la Interfaz gráfica hecha con Qt/Qml, en este caso es una Calculadora McdMcm (calcula el Máximo Común Divisor y el Mínimo Común Múltiplo de varios números enteros positivos).
En la entrada del blog https://cplusplusguiqt.wordpress.com/2016/04/13/calmcdmcmcppqml/ está el código fuente y la metodología usada y en el blog http://calcmate.blogspot.com/p/calc.html está la Calculadora McdMcm terminada lista para descargar y usar. Todo hecho con C++ y QT/QML