Domanda

Sto sviluppando un'applicazione Qt-based e quando uso macdeployqt sul fascio, i plugin Qt non vengono copiati al pacchetto.

Tuttavia, se l'eseguo una seconda volta, lo sono. Inoltre, "Il svg icona del plug-in viene distribuito se l'applicazione utilizza il modulo QtSvg." non è esaudito -. la mia applicazione fa uso QtSvg ma l'iconengines / * plugin non è copiato

Ho provato a farlo funzionare con verbose = 3, e le ultime righe coppia sono:

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

Da quello che dice l'ultimo messaggio, che tipo di sembra che intendeva continuare a correre, ma non lo fece -. Quasi come se fosse caduto

Perché succede questo? macdeployqt ha lavorato per me prima senza alcun problema.

Utilizzo:

  • Qt 4.6
  • Qt Creator 2.0
  • Leopard 10.5.8
È stato utile?

Soluzione

Il problema sta a linee 355-365 di shared.cpp nell'origine 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/"
    }

Il primo nome quadro / dylib in bundle che ha "Qt" nel suo nome è preso per determinare il percorso plugin. Dal momento che il primo nome quadro / dylib nel mio fagotto era "QtSolutions_QtSingleApplication-2.6" ... si ottiene l'immagine. Quindi suppongo una soluzione è quella di rinominare il dylib a "QSA-2.6.dylib" o qualcosa del genere.

In poche parole: assicurarsi che il quadro e nomi di libreria non hanno "Qt" in loro o si incorrerà in problemi con macdeployqt

.

Speriamo che questa risposta può aiutare qualcuno che ha lo stesso problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top