Pregunta

Estoy desarrollando una aplicación basada en Qt y cuando uso macdeployqt en el paquete, los plugins de Qt no se copian en el paquete.

Sin embargo, si me quedo por segunda vez, lo son. Además, "El SVG icono de complemento se despliega si la aplicación utiliza el módulo QtSvg." No se fullfilled -. mi solicitud hace uso QtSvg pero el iconengines / * plugin no se copia

Intenté funcionar con -verbose = 3, y el último par de líneas son:

Log: Created configuration file: "silverlock.app/Contents/Resources/qt.conf" 
Log: This file sets the plugin search path to "silverlock.app/Contents/PlugIns" 

A partir de lo que dice el último mensaje, que tipo de parece que tenía la intención de seguir funcionando, pero no lo hizo. - casi como si se estrelló

¿Por qué sucede esto? macdeployqt ha trabajado para mí antes sin problema.

Uso:

  • Qt 4.6
  • Qt Creator 2.0
  • Leopard 10.5.8
¿Fue útil?

Solución

El problema radica en líneas 355-365 de shared.cpp en la fuente macdeployqt:

while (frameworks.isEmpty() == false) {
    const FrameworkInfo framework = frameworks.takeFirst();
    copiedFrameworks.append(framework.frameworkName);

    // Get the qt path from one of the Qt frameworks;
    if (deploymenInfo.qtPath.isNull() && framework.frameworkName.contains("Qt") 
        && framework.frameworkDirectory.contains("/lib"))
    {
            deploymenInfo.qtPath = framework.frameworkDirectory;
            deploymenInfo.qtPath.chop(5); // remove "/lib/"
    }

El primer nombre de marco / dylib en su paquete que tiene "Qt" en su nombre se toma para determinar la ruta del complemento. Desde el primer nombre de marco / dylib en mi paquete era "QtSolutions_QtSingleApplication-2.6" ... se obtiene la imagen. Así que supongamos que una solución es cambiar el nombre del dylib a "QSA-2.6.dylib" o algo así.

En pocas palabras: asegúrese de que el marco de trabajo y nombres de bibliotecas no tienen "Qt" en ellos o se encontrará con problemas con macdeployqt

.

Esperamos que esta respuesta puede ayudar a alguien con el mismo problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top