Saturday 14 October 2017

Qt No Cdb Binary Options


La pregunta aquí es la misma que la mía, pero la solución no funciona para mí. Estoy utilizando QtCreator 2.4.1 en Windows 7. Cuando intento depurar una aplicación hola simple del mundo el mensaje exhibido es: El motor del depurador preferido para depurar binarios del tipo x86-windows-msvc2010-pe-32bit no está disponible. Detalles: No hay binario CDB disponible para binarios en formato x86-windows-msvc2010-pe-32bit Cuando descubrí que cdb. exe no estaba en mi sistema tenía Windows SDK instalado con herramientas de depuración y la ubicación actual de cdb. exe es C: Archivos de programa (x86) Windows Kits8.0Debuggersx86cdb. exe y C: Archivos de programa (x86) Windows Kits8.0Debuggersx64cdb. exe, En la pestaña CDB i configurado el servidor de símbolos, así como la ruta de CDB. exe, pero en vano QtCreator - Tools-options-Debugger-CDB Tab-tiene los siguientes campos: Argumentos adicionales utilizan la consola del CDB Símbolo Paths Source Paths Ubicación correcta del punto de interrupción, etc. ¿Puede alguien explicar amablemente lo que significan y qué valores se esperan aquí. ¿Alguien ha depurado correctamente cualquier aplicación utilizando Qt Creator? Dependiendo de la versión de Visual Studio que haya instalado, puede encontrar CDB. exe en diferentes ubicaciones. Compruebe si está disponible en su sistema buscando en la unidad C :. En mi caso tengo Windows 7 (x64) con Visual Studio 2012 Express y Visual Studio 2013 instalado y tuve que instalar Microsoft Windows SDK para Windows 7 disponible aquí para tener CDB. exe en mi sistema. Después de la instalación, QT Creator pudo detectar CDB. exe en esta ubicación: C: Archivos de programaDebugging Tools for Windows (x64) cdb. exe. Lo único que necesita del SDK es las utilidades comunes que depuran las herramientas para Windows. Respondió Mar 24 14 a las 8: 23Qt Instantáneas de la documentación Qt para Windows - Implementación Esta documentación describe el proceso de implementación para Windows. Nos referimos a la aplicación de ejemplo a través del documento para demostrar el proceso de implementación. La herramienta de despliegue de Windows La herramienta de despliegue de Windows está diseñada para automatizar el proceso de creación de una carpeta desplegable que contiene las dependencias (bibliotecas, importaciones de QML, complementos y traducciones) necesarias para ejecutar la aplicación desde esa carpeta. Crea un entorno limitado para Windows Runtime o un árbol de instalación para aplicaciones de escritorio de Windows, que se pueden incluir fácilmente en un paquete de instalación. La herramienta se puede encontrar en QTDIR / bin / windeployqt. Se necesita un archivo. exe o un directorio que contiene un archivo. exe como argumento y escanea el ejecutable para las dependencias. Si se pasa un directorio con el argumento --qmldir, windeployqt utiliza la herramienta qmlimportscanner para analizar archivos QML dentro del directorio de las dependencias de importación de QML. Las dependencias identificadas se copian en el directorio de ejecutables. Los caminos locales codificados en Qt5Core. dll son además reemplazados por relativos. Para crear aplicaciones estáticas, construya Qt de forma estática configurando Qt con - static: Si posteriormente necesita reconfigurar y reconstruir Qt desde la misma ubicación, asegúrese de que todos los rastros de la configuración anterior estén Eliminado insertando el directorio de compilación y ejecutando nmake distclean o mingw32-make distclean antes de ejecutar configure nuevamente. Vinculación de la aplicación a la versión estática de Qt A modo de ejemplo, esta sección construirá el ejemplo Plug Paint amp estáticamente. Una vez que Qt termine de construir, construya la aplicación Plug amp Paint. Primero debemos ir al directorio que contiene la aplicación: Ejecutar qmake para crear un nuevo makefile para la aplicación, y realizar una compilación limpia para crear el ejecutable vinculado estáticamente: Probablemente quiera enlazar con las librerías de release y puede especificar esto Al invocar qmake. Ahora, siempre que todo compilado y enlazado sin errores, debemos tener un archivo plugandpaint. exe que está listo para la implementación. Para comprobar que la aplicación tiene las bibliotecas necesarias, copie el archivo ejecutable en una máquina que no tenga instaladas las aplicaciones Qt o Qt y ejecútela en esa máquina. Recuerde que si su aplicación depende de bibliotecas específicas del compilador, éstas deben ser redistribuidas junto con su aplicación. Puede comprobar con qué bibliotecas está enlazando su aplicación utilizando la herramienta depends. Para obtener más información, consulte la sección Dependencias de la aplicación. Dado que no podemos desplegar plugins mediante el método de vinculación estática, la aplicación que hemos preparado es incompleta. Se ejecutará, pero la funcionalidad se desactivará debido a los complementos que faltan. Para implementar aplicaciones basadas en complementos debemos usar el enfoque de biblioteca compartida. Bibliotecas compartidas Tenemos dos desafíos al implementar la aplicación Plug amp Paint usando el método de bibliotecas compartidas: El tiempo de ejecución de Qt tiene que ser redistribuido correctamente junto con el ejecutable de la aplicación y los complementos tienen que instalarse en la ubicación correcta del sistema de destino para que La aplicación puede encontrarlos. Creación de Qt como una biblioteca compartida Para este ejemplo, suponemos que Qt está instalado como una biblioteca compartida, que es la predeterminada al instalar Qt, en el directorio C: pathtoQt. Vinculación de la aplicación a Qt como una biblioteca compartida Después de asegurarse de que Qt está construido como una biblioteca compartida, podemos crear la aplicación Plug amp Paint. En primer lugar, debemos ir al directorio que contiene la aplicación: Ahora ejecute qmake para crear un nuevo makefile para la aplicación, y hacer una compilación limpia para crear el ejecutable vinculado dinámicamente: Esto construye la aplicación principal, lo siguiente construirá los complementos: Si todo se compila y se enlaza sin ningún error, obtendremos un plugandpaint. exe ejecutable y los archivos de plugin pnpbasictools. dll y pnpextrafilters. dll. Creación del paquete de aplicaciones Para implementar la aplicación, debemos asegurarnos de que copiamos los archivos DLL de Qt relevantes (correspondientes a los módulos Qt utilizados en la aplicación) y el complemento de plataforma de Windows, qwindows. dll. Así como el ejecutable en el mismo árbol de directorios en el subdirectorio release. En contraste con los complementos de usuario, los complementos Qt deben colocarse en subdirectorios que coincidan con el tipo de complemento. La ubicación correcta para el complemento de plataforma es un subdirectorio denominado plataformas. La sección Qt Plugins tiene información adicional sobre los complementos y cómo Qt los busca. Si se utiliza ANGLE (el valor por defecto), también deberá incluir tanto libEGL. dll como libGLESv2.dll del directorio Qts lib, así como el compilador HLSL de DirectX. La biblioteca del compilador HLSL, d3dcompilerXX. dll, donde XX es el número de versión con la que ANGLE (libGLESv2) estaba vinculado. Si Qt se ha configurado para enlazar con ICU o OpenSSL, los DLL respectivos también deben agregarse a la carpeta de liberación. Recuerde que si su aplicación depende de bibliotecas específicas del compilador, éstas deben redistribuirse junto con su aplicación. Puede comprobar con qué bibliotecas está enlazando su aplicación utilizando la herramienta depends. Para obtener más información, consulte la sección Dependencias de la aplicación. Bueno, cubra los complementos en breve, pero primero compruebe que la aplicación funcionará en un entorno desplegado: Copie el archivo ejecutable y los DLL de Qt en una máquina que no tenga instaladas Qt o cualquier otra aplicación de Qt o si desea probarla Máquina, asegúrese de que la máquina no tiene Qt en su entorno. Si la aplicación se inicia sin ningún problema, entonces hemos realizado con éxito una versión vinculada dinámicamente de la aplicación Plug amp Paint. Pero la funcionalidad de las aplicaciones seguirá ausente, ya que aún no hemos implementado los complementos asociados. Los complementos funcionan de forma diferente a los DLL normales, por lo que no podemos copiarlos en el mismo directorio que nuestras aplicaciones ejecutables, como hicimos con los DLL de Qt. Al buscar complementos, la aplicación busca en un subdirectorio de complementos dentro del directorio del ejecutable de la aplicación. Por lo tanto, para que los complementos estén disponibles para nuestra aplicación, debemos crear el subdirectorio de complementos y copiarlo sobre las DLL relevantes: Un archivo que distribuya todos los DLLs de Qt y los complementos específicos de la aplicación necesarios para ejecutar la aplicación Plug amp Paint, Archivos: Para verificar que la aplicación ahora se puede desplegar con éxito, puede extraer este archivo en una máquina sin Qt y sin ningún compilador instalado e intentar ejecutarlo. Una alternativa a poner los complementos en el subdirectorio plugins es agregar una ruta de búsqueda personalizada cuando inicie su aplicación utilizando QCoreApplication :: addLibraryPath () o QCoreApplication :: setLibraryPaths (). Una de las ventajas de usar plugins es que pueden ser fácilmente disponibles para toda una familia de aplicaciones. A menudo es más conveniente agregar la ruta en la función main () de las aplicaciones, justo después de que se crea el objeto QApplication. Una vez que se agrega la ruta, la aplicación buscará plugins, además de buscar en el subdirectorio plugins en el propio directorio de aplicaciones. Se puede agregar cualquier número de rutas adicionales. Archivos de manifiesto Al implementar una aplicación compilada con Visual Studio, hay algunos pasos adicionales que se deben seguir. Primero, necesitamos copiar el archivo de manifiesto creado al vincular la aplicación. Este archivo de manifiesto contiene información sobre las dependencias de aplicaciones en ensamblajes lado a lado, como las bibliotecas de tiempo de ejecución. El archivo de manifiesto debe copiarse en la misma carpeta que el ejecutable de la aplicación. No es necesario que copie los archivos de manifiesto para bibliotecas compartidas (DLL), ya que no se utilizan. Si la biblioteca compartida tiene dependencias que son diferentes de la aplicación que lo utiliza, el archivo de manifiesto debe estar incrustado en el binario DLL. Desde Qt 4.1.3, las siguientes opciones CONFIG están disponibles para incrustar manifiestos: Ambas opciones están activadas de forma predeterminada. Para eliminar embedmanifestexe. Agregue a su archivo. pro. Puede encontrar más información acerca de archivos de manifiesto y ensambles lado a lado en el sitio Web de MSDN. La forma correcta de incluir las bibliotecas de tiempo de ejecución con su aplicación es asegurarse de que estén instaladas en el sistema de usuarios finales. Para instalar las bibliotecas de tiempo de ejecución en el sistema de usuarios finales, debe incluir el archivo ejecutable de Visual C Redistributable Package (VCRedist) correspondiente con su aplicación y asegurarse de que se ejecuta cuando el usuario instala la aplicación. Se denominan vcredistx64.exe (IA64 y 64 bits) o vcredistx86.exe (32 bits) y se pueden encontrar en la carpeta c. Alternativamente, se pueden descargar desde la web, por ejemplo vcredistx64.exe para Visual Studio 2015. Nota: La aplicación que envía debe ser compilada con exactamente la misma versión del compilador en contra de la misma versión de tiempo de ejecución C. Esto evita el despliegue de errores causados ​​por diferentes versiones de las bibliotecas de tiempo de ejecución C. Dependencias de aplicación Bibliotecas adicionales Dependiendo de la configuración, las bibliotecas específicas del compilador deben redistribuirse junto con la aplicación. Por ejemplo, si Qt se construye usando ANGLE. Sus bibliotecas compartidas y el compilador HLSL de DirectX para ser enviado también. Puede comprobar con qué bibliotecas su aplicación está enlazando utilizando la herramienta Dependency Walker. Todo lo que necesitas hacer es ejecutarlo de esta manera: Esto proporcionará una lista de las bibliotecas de las que depende tu aplicación y otra información. Al examinar la versión de lanzamiento del plug-in Plug Paint Paint (plugandpaint. exe) con la herramienta depends, la herramienta lista las siguientes dependencias inmediatas a bibliotecas que no son del sistema: Cuando se examinan los DLL de complementos, se enumeran exactamente las mismas dependencias. A partir de la versión 5.2 de Qt, la versión oficialmente admitida para OpenSSL es 1.0.0 o posterior. Las versiones gt 0.9.7 y lt 1.0.0 podrían funcionar, pero no están garantizadas. Complementos Qt Todas las aplicaciones GUI Qt requieren un complemento que implementa la capa Qt Platform Abstraction (QPA) en Qt 5. Para Windows, el nombre del complemento de plataforma es qwindows. dll. Este archivo debe estar ubicado dentro de un subdirectorio específico (por defecto, plataformas) en su directorio de distribución. Alternativamente, es posible ajustar la ruta de búsqueda que Qt usa para encontrar sus complementos, como se describe a continuación. Su aplicación también puede depender de uno o más plugins de Qt, como el complemento de soporte de impresión, el complemento de formato de imagen JPEG o un complemento de controlador de SQL. Asegúrese de distribuir cualquier complemento Qt que necesite con su aplicación. Al igual que el complemento de plataforma, cada tipo de complemento debe estar ubicado dentro de un subdirectorio específico (por ejemplo, printsupport, imageformats o sqldrivers) dentro de su directorio de distribución. La ruta de búsqueda para los complementos Qt está codificada en la biblioteca QtCore. De forma predeterminada, el subdirectorio de plugins de la instalación de Qt es la primera ruta de búsqueda de complementos. Sin embargo, los caminos predefinidos como el predeterminado tienen ciertas desventajas. Por ejemplo, pueden no existir en la máquina de destino. Por esa razón, es necesario examinar varias alternativas para asegurarse de que los complementos Qt se encuentran: Uso de qt. conf. Este enfoque es el recomendado si tiene ejecutables en diferentes lugares compartiendo los mismos complementos. Utilizar QApplication :: addLibraryPath () o QApplication :: setLibraryPaths (). Este enfoque se recomienda si sólo tiene un ejecutable que utilizará el complemento. Uso de una utilidad de instalación de terceros para cambiar las rutas codificadas en la biblioteca QtCore. Si agrega una ruta personalizada usando QApplication :: addLibraryPath, podría verse así: C: / customPath / plugins C: / Qt / VERSION / plugins E: / directorio myApplication / El ejecutable buscará los complementos en estos directorios y lo mismo Order como QStringList devuelto por QCoreApplication :: libraryPaths (). La nueva ruta agregada se agrega previamente a QCoreApplication :: libraryPaths (), lo que significa que se buscará primero. Sin embargo, si utiliza QCoreApplication :: setLibraryPaths (), podrá determinar qué rutas y en qué orden se buscarán. El documento How to Create Qt Plugins describe los problemas que debe prestar atención al crear e implementar complementos para aplicaciones Qt. 2016 The Qt Company Ltd. Las contribuciones de documentación incluidas en este documento son los derechos de autor de sus respectivos propietarios. La documentación proporcionada aquí está bajo los términos de la Licencia de Documentación Libre GNU versión 1.3 publicada por la Free Software Foundation. Qt y los respectivos logotipos son marcas registradas de The Qt Company Ltd. en Finlandia y / o en otros países del mundo. Todas las demás marcas comerciales son propiedad de sus respectivos propietarios. Qt para Windows - Implementación Esta documentación describe el proceso de implementación para Windows. Nos referimos a la aplicación de ejemplo de pintura de amplificador de enchufe a través del documento para demostrar el proceso de implementación. La herramienta de despliegue de Windows La herramienta de despliegue de Windows está diseñada para automatizar el proceso de creación de una carpeta desplegable que contiene las dependencias (bibliotecas, importaciones de QML, complementos y traducciones) necesarias para ejecutar la aplicación desde esa carpeta. Crea un entorno limitado para Windows Runtime o un árbol de instalación para aplicaciones de escritorio de Windows, que se pueden incluir fácilmente en un paquete de instalación. La herramienta se puede encontrar en QTDIR / bin / windeployqt. Se necesita un archivo. exe o un directorio que contiene un archivo. exe como argumento y escanea el ejecutable para las dependencias. Si se pasa un directorio con el argumento --qmldir, windeployqt utiliza la herramienta qmlimportscanner para analizar archivos QML dentro del directorio de las dependencias de importación de QML. Las dependencias identificadas se copian en el directorio de ejecutables. Los caminos locales codificados en Qt5Core. dll son además reemplazados por relativos. Para crear aplicaciones estáticas, construya Qt de forma estática configurando Qt con - static: Si posteriormente necesita reconfigurar y reconstruir Qt desde la misma ubicación, asegúrese de que todos los rastros de la configuración anterior estén Eliminado insertando el directorio de compilación y ejecutando nmake distclean o mingw32-make distclean antes de ejecutar configure nuevamente. Vinculación de la aplicación a la versión estática de Qt A modo de ejemplo, esta sección construirá el ejemplo Plug Paint amp estáticamente. Una vez que Qt termine de construir, construya la aplicación Plug amp Paint. Primero debemos ir al directorio que contiene la aplicación: Ejecutar qmake para crear un nuevo makefile para la aplicación, y realizar una compilación limpia para crear el ejecutable vinculado estáticamente: Probablemente quiera enlazar con las librerías de release y puede especificar esto Al invocar qmake. Ahora, siempre que todo compilado y enlazado sin errores, debemos tener un archivo plugandpaint. exe que está listo para la implementación. Para comprobar que la aplicación tiene las bibliotecas necesarias, copie el archivo ejecutable en una máquina que no tenga instaladas las aplicaciones Qt o Qt y ejecútela en esa máquina. Recuerde que si su aplicación depende de bibliotecas específicas del compilador, éstas deben ser redistribuidas junto con su aplicación. Puede comprobar con qué bibliotecas está enlazando su aplicación utilizando la herramienta depends. Para obtener más información, consulte la sección Dependencias de la aplicación. Dado que no podemos desplegar plugins mediante el método de vinculación estática, la aplicación que hemos preparado es incompleta. Se ejecutará, pero la funcionalidad se desactivará debido a los complementos que faltan. Para implementar aplicaciones basadas en complementos debemos usar el enfoque de biblioteca compartida. Bibliotecas compartidas Tenemos dos desafíos al implementar la aplicación Plug amp Paint usando el método de bibliotecas compartidas: El tiempo de ejecución de Qt tiene que ser redistribuido correctamente junto con el ejecutable de la aplicación y los complementos tienen que instalarse en la ubicación correcta del sistema de destino para que La aplicación puede encontrarlos. Creación de Qt como una biblioteca compartida Para este ejemplo, suponemos que Qt está instalado como una biblioteca compartida, que es la predeterminada al instalar Qt, en el directorio C: pathtoQt. Vinculación de la aplicación a Qt como una biblioteca compartida Después de asegurarse de que Qt está construido como una biblioteca compartida, podemos crear la aplicación Plug amp Paint. En primer lugar, debemos ir al directorio que contiene la aplicación: Ahora ejecute qmake para crear un nuevo makefile para la aplicación, y hacer una compilación limpia para crear el ejecutable vinculado dinámicamente: Esto construye la aplicación principal, lo siguiente construirá los complementos: Si todo se compila y se enlaza sin ningún error, obtendremos un plugandpaint. exe ejecutable y los archivos de plugin pnpbasictools. dll y pnpextrafilters. dll. Creación del paquete de aplicaciones Para implementar la aplicación, debemos asegurarnos de que copiamos los DLLs Qt relevantes (correspondientes a los módulos Qt utilizados en la aplicación) y el complemento de plataforma de Windows, qwindows. dll. Así como el ejecutable en el mismo árbol de directorios en el subdirectorio release. En contraste con los complementos de usuario, los complementos Qt deben colocarse en subdirectorios que coincidan con el tipo de complemento. La ubicación correcta para el complemento de plataforma es un subdirectorio denominado plataformas. La sección Qt Plugins tiene información adicional acerca de los complementos y cómo Qt los busca. Si se utiliza ANGLE (el valor por defecto), también deberá incluir tanto libEGL. dll como libGLESv2.dll del directorio Qts lib, así como el compilador HLSL de DirectX. La biblioteca del compilador HLSL, d3dcompilerXX. dll, donde XX es el número de versión con la que ANGLE (libGLESv2) estaba vinculado. Si Qt se ha configurado para enlazar con ICU o OpenSSL, los DLL respectivos también deben agregarse a la carpeta de liberación. Si su aplicación depende de Qt WebEngine, debe implementar ltQt instalar pathgt / bin / QtWebEngineProcess. exe en la ruta de instalación de la aplicación. Si decide implementar el binario en una ruta de acceso diferente, establezca la variable de entorno QTWEBENGINEPROCESSPATH en la ruta absoluta de binarios (incluido su nombre de archivo). Esto permite a la aplicación encontrar el binario y ejecutarlo para cada instancia de QWebEngineView o WebEngineView creada. Por ejemplo, una aplicación de navegador con dos pestañas abiertas debe tener dos procesos separados de QtWebEngineProcess. exe en ejecución. Este es un enfoque común utilizado por la mayoría de los motores web modernos para proporcionar una experiencia de navegación estable. Nota: Para admitir videos HTML5, debe implementar adicionalmente ffmpegsumo. dll (complemento de codec WebM) en el directorio qtwebengine bajo la ruta de instalación de la aplicación o bajo la ruta que la variable PluginsPath se estableció en ltQt install pathgt / ltQt versiongt / msvc2013 / qt. conf. Recuerde que si su aplicación depende de bibliotecas específicas del compilador, éstas deben redistribuirse junto con su aplicación. Puede comprobar con qué bibliotecas está enlazando su aplicación utilizando la herramienta depends. Para obtener más información, consulte la sección Dependencias de la aplicación. Bueno, cubra los complementos en breve, pero primero compruebe que la aplicación funcionará en un entorno desplegado: Copie el archivo ejecutable y los DLL de Qt en una máquina que no tenga instaladas las aplicaciones Qt o Qt, o si desea probar en la compilación Máquina, asegúrese de que la máquina no tiene Qt en su entorno. Si la aplicación se inicia sin ningún problema, entonces hemos realizado con éxito una versión vinculada dinámicamente de la aplicación Plug amp Paint. Pero la funcionalidad de las aplicaciones seguirá ausente, ya que aún no hemos implementado los complementos asociados. Los complementos funcionan de forma diferente a los DLL normales, por lo que no podemos copiarlos en el mismo directorio que nuestras aplicaciones ejecutables, como lo hicimos con los DLL de Qt. Al buscar complementos, la aplicación busca en un subdirectorio de complementos dentro del directorio del ejecutable de la aplicación. Por lo tanto, para que los complementos estén disponibles para nuestra aplicación, debemos crear el subdirectorio de complementos y copiarlo sobre las DLL relevantes: Un archivo que distribuya todos los DLLs de Qt y los complementos específicos de la aplicación necesarios para ejecutar la aplicación Plug amp Paint, Archivos: Para verificar que la aplicación ahora se puede desplegar con éxito, puede extraer este archivo en una máquina sin Qt y sin ningún compilador instalado e intentar ejecutarlo. Una alternativa a poner los complementos en el subdirectorio plugins es agregar una ruta de búsqueda personalizada cuando inicie su aplicación utilizando QCoreApplication :: addLibraryPath () o QCoreApplication :: setLibraryPaths (). Una de las ventajas de usar plugins es que pueden ser fácilmente disponibles para toda una familia de aplicaciones. A menudo es más conveniente agregar la ruta en la función main () de las aplicaciones, justo después de que se crea el objeto QApplication. Una vez que se agrega la ruta, la aplicación buscará plugins, además de buscar en el subdirectorio plugins en el propio directorio de aplicaciones. Se puede agregar cualquier número de rutas adicionales. Archivos de manifiesto Al implementar una aplicación compilada con Visual Studio 2005 en adelante, hay algunos pasos adicionales que deben tomarse. Primero, necesitamos copiar el archivo de manifiesto creado al vincular la aplicación. Este archivo de manifiesto contiene información sobre las dependencias de aplicaciones en ensamblajes lado a lado, como las bibliotecas de tiempo de ejecución. El archivo de manifiesto debe copiarse en la misma carpeta que el ejecutable de la aplicación. No es necesario que copie los archivos de manifiesto para bibliotecas compartidas (DLL), ya que no se utilizan. Si la biblioteca compartida tiene dependencias que son diferentes de la aplicación que lo utiliza, el archivo de manifiesto debe estar incrustado en el binario DLL. Desde Qt 4.1.3, las siguientes opciones CONFIG están disponibles para incrustar manifiestos: Ambas opciones están activadas de forma predeterminada. Para eliminar embedmanifestexe. Agregue a su archivo. pro. Puede encontrar más información acerca de archivos de manifiesto y ensambles lado a lado en el sitio Web de MSDN. La forma correcta de incluir las bibliotecas de tiempo de ejecución con su aplicación es asegurarse de que estén instaladas en el sistema de usuarios finales. Para instalar las bibliotecas de tiempo de ejecución en el sistema de usuarios finales, debe incluir el archivo ejecutable de Visual C Redistributable Package (VCRedist) correspondiente con su aplicación y asegurarse de que se ejecuta cuando el usuario instala la aplicación. Por ejemplo, en un sistema basado en x86 de 32 bits, debería incluir el ejecutable vcredistx86.exe. Los ejecutables vcredistIA64.exe y vcredistx64.exe proporcionan las bibliotecas adecuadas para las arquitecturas IA64 y 64 bits x86, respectivamente. Nota: La aplicación que envía debe ser compilada con exactamente la misma versión del compilador en contra de la misma versión de tiempo de ejecución C. Esto evita el despliegue de errores causados ​​por diferentes versiones de las bibliotecas de tiempo de ejecución C. Instalaciones manuales con Visual Studio 2008 y 2010 Además de los detalles anteriores para VS 2005 y posteriores, las aplicaciones de Visual Studio 2008/2010 pueden tener problemas al implementar manualmente, por ejemplo, una memoria USB. El procedimiento recomendado es configurar Qt con la opción - plugin-manifests mediante la herramienta configure. A continuación, siga las instrucciones para desplegar manualmente ensamblados privados. En resumen, los pasos son crear una estructura de carpetas en el equipo de desarrollo que coincidirá con la estructura del directorio de destino de memoria USB, por ejemplo, la aplicación y para sus dlls, applib. En el equipo de desarrollo, desde la copia de carpeta redistribuible adecuada sobre Microsoft. VC80.CRT y Microsoft. VC80.MFC a la aplicación de directorios y applib en la PC de desarrollo. Xcopy la carpeta de la aplicación a la memoria USB de destino. Su aplicación debería ejecutarse ahora. También tenga en cuenta que incluso con un Service Pack instalado, los DLL de Windows que están enlazados serán los valores predeterminados. Consulte la información sobre cómo seleccionar los DLL de destino adecuados. Dependencias de aplicación Bibliotecas adicionales Dependiendo de la configuración, las bibliotecas específicas del compilador deben redistribuirse junto con la aplicación. Por ejemplo, si Qt se construye usando ANGLE. Sus bibliotecas compartidas y las bibliotecas compartidas necesarias del SDK de Direct X deben ser enviadas también. Puede comprobar con qué bibliotecas su aplicación está enlazando utilizando la herramienta Dependency Walker. Todo lo que necesitas hacer es ejecutarlo de esta manera: Esto proporcionará una lista de las bibliotecas de las que depende tu aplicación y otra información. Al examinar la versión de lanzamiento del plug-in Plug Paint Paint (plugandpaint. exe) con la herramienta depends, la herramienta lista las siguientes dependencias inmediatas a bibliotecas que no son del sistema: Cuando se examinan los DLL de complementos, se enumeran exactamente las mismas dependencias. A partir de la versión 5.2 de Qt, la versión oficialmente admitida para OpenSSL es 1.0.0 o posterior. Las versiones gt 0.9.7 y lt 1.0.0 podrían funcionar, pero no están garantizadas. Complementos Qt Todas las aplicaciones GUI Qt requieren un complemento que implementa la capa Qt Platform Abstraction (QPA) en Qt 5. Para Windows, el nombre del complemento de plataforma es qwindows. dll. Este archivo debe estar ubicado dentro de un subdirectorio específico (por defecto, plataformas) en su directorio de distribución. Alternativamente, es posible ajustar la ruta de búsqueda que Qt usa para encontrar sus complementos, como se describe a continuación. Su aplicación también puede depender de uno o más plugins de Qt, como el complemento de soporte de impresión, el complemento de formato de imagen JPEG o un complemento de controlador de SQL. Asegúrese de distribuir cualquier complemento Qt que necesite con su aplicación. Al igual que el complemento de plataforma, cada tipo de complemento debe estar ubicado dentro de un subdirectorio específico (por ejemplo, printsupport, imageformats o sqldrivers) dentro de su directorio de distribución. La ruta de búsqueda para los complementos Qt está codificada en la biblioteca QtCore. De forma predeterminada, el subdirectorio de plugins de la instalación de Qt es la primera ruta de búsqueda de complementos. Sin embargo, los caminos predefinidos como el predeterminado tienen ciertas desventajas. Por ejemplo, pueden no existir en la máquina de destino. Por esa razón, es necesario examinar varias alternativas para asegurarse de que los complementos Qt se encuentran: Uso de qt. conf. Este enfoque es el recomendado si tiene ejecutables en diferentes lugares compartiendo los mismos complementos. Utilizar QApplication :: addLibraryPath () o QApplication :: setLibraryPaths (). Este enfoque se recomienda si sólo tiene un ejecutable que utilizará el complemento. Utilizar una utilidad de instalación de terceros para cambiar las rutas codificadas en la biblioteca QtCore. Si agrega una ruta personalizada usando QApplication :: addLibraryPath, podría verse así: C: / customPath / plugins C: / Qt / VERSION / plugins E: / directorio myApplication / El ejecutable buscará los complementos en estos directorios y lo mismo Order como QStringList devuelto por QCoreApplication :: libraryPaths (). La nueva ruta agregada se agrega previamente a QCoreApplication :: libraryPaths (), lo que significa que se buscará primero. Sin embargo, si utiliza QCoreApplication :: setLibraryPaths (), podrá determinar qué rutas y en qué orden se buscarán. El documento How to Create Qt Plugins describe los problemas que debe prestar atención al crear e implementar complementos para aplicaciones Qt. 2016 The Qt Company Ltd. Las contribuciones de documentación incluidas en este documento son los derechos de autor de sus respectivos propietarios. La documentación proporcionada aquí está bajo los términos de la Licencia de Documentación Libre GNU versión 1.3 publicada por la Free Software Foundation. Qt y los respectivos logotipos son marcas registradas de The Qt Company Ltd. en Finlandia y / o en otros países del mundo. El resto de marcas registradas son propiedad de sus respectivos propietarios.

No comments:

Post a Comment