/ / Come distribuire un'applicazione Qt3D su Mac OS-X - macos, qt, deploy

Come distribuire un'applicazione Qt3D su Mac OS-X - macos, qt, deployment

Se distribuisco la demo-app sphere.app su OS-X con

macdeployqt sphere.app

e prova ad avviarlo con

sphere.app/Contents/MacOS/sphere

Ottengo il messaggio di errore

file: ///Users/dev/src/qt3d-1.0-src/bin/sphere.app/Contents/Resources/qml/sphere.qml: 42: 1: il modulo „Qt3D“ non è installato import Qt3D 1.0

otool –L sphere.app/Contents/MacOS/sphere mostra che i framework sono distribuiti correttamente:

sfera.app / Contents / MacOS / sfera: @executable_path /../ Frameworks / Qt3D.framework / Versions / 1 / Qt3D (versione di compatibilità 1.0.0, versione corrente 1.0.0) @executable_path /../ Frameworks / Qt3DQuick.framework / Versions / 1 / Qt3DQuick (compatibilità versione 1.0.0, versione corrente 1.0.0) @executable_path /../ Frameworks / QtDeclarative.framework / Versions / 4 / QtDeclarative (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtScript.framework / Versions / 4 / QtScript (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtCore.framework / Versions / 4 / QtCore (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtSvg.framework / Versions / 4 / QtSvg (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtGui.framework / Versions / 4 / QtGui (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtSql.framework / Versions / 4 / QtSql (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtXmlPatterns.framework / Versions / 4 / QtXmlPatterns (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtNetwork.framework / Versions / 4 / QtNetwork (versione di compatibilità 4.8.0, versione corrente 4.8.3) @executable_path /../ Frameworks / QtOpenGL.framework / Versions / 4 / QtOpenGL (versione di compatibilità 4.8.0, versione corrente 4.8.3) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (versione di compatibilità 1.0.0, versione corrente 1.0.0) /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibilità versione 1.0.0, versione corrente 1.0.0) /usr/lib/libstdc++.6.dylib (versione di compatibilità 7.0.0, versione attuale 7.9.0) /usr/lib/libgcc_s.1.dylib (versione di compatibilità 1.0.0, versione corrente 830.0.0) /usr/lib/libSystem.B.dylib (versione di compatibilità 1.0.0, versione corrente 125.2.11)

Onybody sa come risolvere questo problema? È un bug Qt o ho fatto qualcosa di sbagliato?

risposte:

0 per risposta № 1

Sembra che l'applicazione non sia in grado di trovare nessuno dei framework Qt e riporta solo il primo che risulta essere Qt3D. Potete confermare l'esistenza dei quadri Qt3D

@executable_path/../Frameworks/Qt3D.framework/Versions/1/Qt3D

Qui @executable_path è il percorso del tuo binario che molto probabilmente sarebbe sphere.app/Contents/MacOS/sphere. Quindi Qt3D dovrebbe esistere a

sphere.app/Contents/Frameworks/Qt3D.framework/Versions/1/Qt3D

In caso contrario, è possibile copiare dal percorso Framework libreria per creare sopra il percorso