Autor Tema: Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.  (Leído 2798 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ferzone82

  • PIC10
  • *
  • Mensajes: 1
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #45 en: 29 de Junio de 2017, 11:55:10 »
Hola, soy nuevo con Rpi y la verdad que felicito a todos los que colaboran con estos post para que otros podamos comenzar.
Les cuento que tuve el mismo problema que frigorificus, por lo que empece a investigar y estudiando muy bien el  tutorial para descargar sobre la configuración de qt4 encontré algo que me dio una idea para probar y por esas cosas de la vida todo empezó a funcionar. Este es el comentario:

1.- En la creación del Kit, faltaba añadir el path al mkspecs, de esta manera podremos usar el qmake y make que crea automáticamente Qt al crear un proyecto, ya no hará falta tocar nada de lo que Qt añade por omisión en el proyecto.

Entonces pense que si el problema venia por el lado del qmake esta podria ser la solucion. Busque un poco por internet esto del path de mkspecs y encontre que debia buscar esto esta carpeta que esta en la copia local del Rpi: arm-linux-gnueabihf. En mi caso el path quedo asi:

C:\SysGCC\raspberry\arm-linux-gnueabihf\sysroot\usr\lib\arm-linux-gnueabihf\qt5\mkspecs\arm-linux-gnueabihf

En QT Version agregue el que genera QT en: C:\SysGCC\raspberry\Qt\v5

Adjunto las capturas

No tengo la experiencia suficiente para decir exactamente que hice pero funciona!
Espero ayude a otros y los expertos puedan analizar el tema.
Saludos.

Conectado planeta9999

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3261
    • Pinballsp
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #46 en: 29 de Junio de 2017, 20:27:27 »
 ­
Interesante, de eso no me había dado cuenta, y eso que lo documenté en su día en la instalación de QT4 para RPY2. Lo raro, es que a mi me funcione QT5, sin definir ese parámetro y a otros os falle.

Pero bueno, lo importante es que funcione la instalación, en todos los casos.

Yo en breve tengo que retomar un proyecto que dejé a medias, aunque no se si al final usaré QTCreator, porque necesito una salida a pantalla completa para reproducir video, y para eso no me hace falta hacerlo desde un entorno gráfico. Puedo lanzar mi rutina, que echa mano de Openmax para sacar video,  desde C++ puro y duro, y el resto de mi programa es simplemente una lectura de sensores por SPI, con un expansor de puertos de Microchip.
« Última modificación: 29 de Junio de 2017, 20:38:41 por planeta9999 »

Conectado planeta9999

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3261
    • Pinballsp
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #47 en: 29 de Junio de 2017, 22:54:39 »
 

Indagando más en el tema del qmake, si ejecutamos desde la linea de comandos de Windows, el comando qmake -query, nos devuelve toda la configuración que tenemos en el entorno.

Esta de la captura de pantalla adjunta, es la mía. En teoría me debería de salir el parámetro QMAKE_MKSPECS, pero no sale, seguramente porque no lo tengo definido en el Kit, sin embargo me compila, que es lo raro.

Señalar la importancia del parámetro QMAKE_XSPEC, que debe de apuntar a linux-rpi3-g++, para que la compilación sea para un Raspberry Pi3.


« Última modificación: 29 de Junio de 2017, 22:57:49 por planeta9999 »

Conectado planeta9999

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3261
    • Pinballsp
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #48 en: 29 de Junio de 2017, 23:45:35 »
.

Sigo mirando cosas, a mi la vía de acceso al mkspecs que comenta ferzone82, no me sale. Y algo que es importante, hay que fijar la vía al mkspecs correspondiente al Raspberry Pi3. Si no se hace así, el producto puede compilar, pero el objeto resultante no funcionará en un Raspeberry Pi3.

En el mkspecs correspondiente, hay un fichero qmake.conf que define toda la parametrización necesaria para la compilación. En el caso del Raspberry Pi3, este qmake.conf está en un subdirectorio con el nombre linux-rpi3-g++. Asi que la vía de acceso CORRECTA del mkspecs, para compilar para Raspberry Pi3, debe de apuntar a ese subdirectorio.

En ese subdirectorio nos encontraremos un fichero qmake.conf con este contenido.

Código: [Seleccionar]
# qmake configuration for the Raspberry Pi 3 using the Broadcom graphics stack

include(../common/linux_device_pre.conf)

# For modern Yocto-based sysroots that have the proper include and lib
# setup in egl.pc we will pull the necessary arguments from
# there. However, to support Raspbian and older stuff that has /opt/vc
# and possibly no pkg-config, have some static values as well:

# I consider it a bug that this is required, but our EGL config.test _requires_ it
QMAKE_LFLAGS           += -L$${VC_LIBRARY_PATH}

VC_LIBRARY_PATH         = $$[QT_SYSROOT]/opt/vc/lib
VC_INCLUDE_PATH         = $$[QT_SYSROOT]/opt/vc/include

# terrible, they do not appear to resolve "=" in rpath!
VC_LINK_LINE            = -L$${VC_LIBRARY_PATH}

QMAKE_LIBDIR_OPENGL_ES2 = =$${VC_LIBRARY_PATH}
QMAKE_LIBDIR_EGL        = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBDIR_OPENVG     = $$QMAKE_LIBDIR_OPENGL_ES2

QMAKE_INCDIR_EGL        = \
                        $${VC_INCLUDE_PATH} \
                        $${VC_INCLUDE_PATH}/interface/vcos/pthreads \
                        $${VC_INCLUDE_PATH}/interface/vmcs_host/linux

QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}

QMAKE_LIBS_OPENGL_ES2   = $${VC_LINK_LINE} -lGLESv2

# The official opt vc EGL references GLESv2 symbols: need to link it
QMAKE_LIBS_EGL          = $${VC_LINK_LINE} -lEGL -lGLESv2

QMAKE_CFLAGS            = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS

DISTRO_OPTS            += hard-float
DISTRO_OPTS            += deb-multi-arch

EGLFS_DEVICE_INTEGRATION= eglfs_brcm

include(../common/linux_arm_device_post.conf)

load(qt_config)



También nos encontraremos el fichero qplatformdefs.h, con este contenido.

Código: [Seleccionar]
/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing/
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** As a special exception, The Qt Company gives you certain additional
** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/

#include "../../linux-g++/qplatformdefs.h"
« Última modificación: 29 de Junio de 2017, 23:51:13 por planeta9999 »

Desconectado daniel_82

  • PIC10
  • *
  • Mensajes: 11
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #49 en: 28 de Diciembre de 2017, 16:13:06 »
Hola: Estoy intentando bajar "Subdirectorio qt5 para compilación cruzada" y el zip esta roto. De donde mas puedo sacar la subcarpeta del QT5 para compilacion cruzada?

Gracias

Conectado planeta9999

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3261
    • Pinballsp
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #50 en: 28 de Diciembre de 2017, 18:50:20 »
Hola: Estoy intentando bajar "Subdirectorio qt5 para compilación cruzada" y el zip esta roto. De donde mas puedo sacar la subcarpeta del QT5 para compilacion cruzada?

Gracias


El enlace funciona perfectamente, descarga y descomprime. No es un ZIP, es un RAR, usa una versión actualizada de un descompresor que soporte RAR5.


Desconectado daniel_82

  • PIC10
  • *
  • Mensajes: 11
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #51 en: 29 de Diciembre de 2017, 09:32:58 »
Muchas gracias planeta9999 baje la ultima version de winrar y pude descomprimir sin problemas, ahora me voy a poner a seguir el tutorial paso a paso a ver si logro hacerlo andar, a rezar.

Soy nuevo con la RPI y vengo del mundo de los PICs, les hago un par de consultas:
- cuando logre llegar al final del hilo el QT creator me va a quedar configurado para programar en pyton o en C++? Yo preferiria usar C++
- si quiero comunicarme con los GPIO / USART / SPI etc del RPI que mas debo agregar al QT creator? alguna libreira como wiringPi, comos e hace?

Muchas Gracias

Conectado planeta9999

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3261
    • Pinballsp
Re:Experiencias Raspberry (1) Instalación y configuración de QT5/QT Creator.
« Respuesta #52 en: 29 de Diciembre de 2017, 14:12:47 »

La instalación es para trabajar en C/C++.
La WiringPi, la estoy usando pero no desde QT o QT Creator, supongo que no tendrás problema en añadirla, al final el compilador es siempre el mismo, es cuestión de meterla en la configuración de los path a las librerías y arreando.

Ahora mismo tengo un desarrollo en marcha, pero he optado por no usar QT porque para temas gráficos, apenas hay información, y las pruebas que hice no fueron satisfactorias (muchos errores no documentados).

Al final opté por una programación directa, sin QT, usando OpenMax/OpenGL, para atacar directamente a la GPU del Raspberry, también estoy usado las WiringPi para controlar un expansor de puertos MCP23s17 por SPI. Pero todo, desde un editor básico como es Geany, y compilando a capón con make.

Para mi, QT con Raspberry, tiene su talón de aquiles en los desarrollos gráficos sin necesitas reproducir video. Algo en principio tan básico como reproducir un video, no tiene una solución sencilla, o yo no la encontré después de mucho buscar y probar. Para otras cosas no está mal.

« Última modificación: 29 de Diciembre de 2017, 14:18:01 por planeta9999 »


 

anything