[Development] 5.4.1 OSX macdeployqt FAIL
Ziller Eike
Eike.Ziller at theqtcompany.com
Mon May 11 08:45:32 CEST 2015
> On May 10, 2015, at 9:08 PM, mark diener <rpzrpzrpz at gmail.com> wrote:
>
> Well, it looks like the big weakness in OSX deployment is macdeployqt and we are on version 5.4.1+
>
> I was able to change my macdeployqt command line FROM:
>
> macdeployqt ./testdep.app/ -qmldir=/macdev/qdev/testdep/ -verbose=2 <enter>
>
> TO:
>
> macdeployqt testdep.app/ -qmldir=/macdev/qdev/testdep/ -verbose=2 <enter>
>
> And it WORKED!
>
> The only difference between the two is the period and forward slash in front of the testdep.app reference.
>
> I think it should be registered with the maintainer of macdeployqt that the tool is subject to falling down on its knees
> with just the slightest syntax variation. YIKES!
-> https://bugreports.qt.io
Thanks & Br, Eike
> Who is the maintainer of macdeployqt?
>
>
> On Sun, May 10, 2015 at 9:57 AM, mark diener <rpzrpzrpz at gmail.com> wrote:
> Hello:
>
> Has someone gotten macdeployqt to actually work and create a self running bundle
> that successfully runs on OSX ?
>
> If yes, please share your command line for macdeployqt.
>
>
> My macdeployqt command line:
>
> macdeployqt ./testdep.app/ -qmldir=/macdev/qdev/testdep/
>
> my otool dump of the bundle after macdeployqt:
>
> mds-MacBook-Pro:buildosx md$ otool -L ./testdep.app/Contents/MacOS/testdep
> ./testdep.app/Contents/MacOS/testdep:
> @executable_path/../Frameworks/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.4.0, current version 5.4.1)
> @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.4.0, current version 5.4.1)
> @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.4.0, current version 5.4.1)
> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
> @executable_path/../Frameworks/QtQml.framework/Versions/5/QtQml (compatibility version 5.4.0, current version 5.4.1)
> @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.4.0, current version 5.4.1)
> @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.4.0, current version 5.4.1)
> /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
> /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
> /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 104.1.0)
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
>
> Added directories to my bundle:
>
> Contents
> ------------>Frameworks (QtCore, QtGui, QtNetwork, QtPrintSupport, QtQml, QtQuick, QtWidgets)
> ------------>PlugIns (bearer, imageformats, platforms, printsupport, quick)
> ------------>Resources -> qml -> Qt/ Qtquick/ QtQuick.2/
>
> When executing the program after macdeployqt
>
> applicationDirPath(): "/macdev/qdev/buildosx/testdep.app/Contents/MacOS"
> QLibraryInfo::PrefixPath: "/macdev/qdev/buildosx/testdep.app/Contents"
> QLibraryInfo::LibrariesPath: "/macdev/qdev/buildosx/testdep.app/Contents/lib"
> QLibraryInfo::PluginsPath: "/macdev/qdev/buildosx/testdep.app/Contents/PlugIns"
> QLibraryInfo::Qml2ImportsPath: "/macdev/qdev/buildosx/testdep.app/Contents/Resources/qml"
> QQmlApplicationEngine failed to load component
> qrc:/main.qml:1 module "QtQuick" plugin "qtquick2plugin" not found
>
> Anybody gotten through this OSX Ugliness?
>
> Mark
>
> ###############################
>
> Here is the simple source code:
>
> #include <QApplication>
> #include <QQmlApplicationEngine>
>
> #include <QLibraryInfo>
> #include <QString>
> #include <QDebug>
>
> int main(int argc, char *argv[])
> {
> QString gval ;
> QApplication app(argc, argv);
>
> QQmlApplicationEngine engine;
>
> gval = QApplication::applicationDirPath() ;
> qDebug() << "applicationDirPath():" << gval << endl ;
>
> gval = QLibraryInfo::location(QLibraryInfo::PrefixPath) ;
> qDebug() << "QLibraryInfo::PrefixPath:" << gval << endl ;
>
> gval = QLibraryInfo::location(QLibraryInfo::LibrariesPath) ;
> qDebug() << "QLibraryInfo::LibrariesPath:" << gval << endl ;
>
> gval = QLibraryInfo::location(QLibraryInfo::PluginsPath) ;
> qDebug() << "QLibraryInfo::PluginsPath:" << gval << endl ;
>
> gval = QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath) ;
> qDebug() << "QLibraryInfo::Qml2ImportsPath:" << gval << endl ;
>
> engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
>
> return app.exec();
> }
>
> Here is the simple QML:
>
> import QtQuick
> 2.4
>
> import QtQuick.Controls
> 1.3
>
> import QtQuick.Window
> 2.2
>
> import QtQuick.Dialogs
> 1.2
>
> import QtQuick.Layouts
> 1.1
>
>
>
> ApplicationWindow
> {
>
> title: qsTr("Hello World"
> )
>
> width:
> 640
>
> height:
> 480
>
> visible:
> true
>
>
>
> menuBar: MenuBar
> {
>
> Menu
> {
>
> title: qsTr("&File"
> )
>
> MenuItem
> {
>
> text: qsTr("&Open"
> )
>
> onTriggered: messageDialog.show(qsTr("Open action triggered"
> ));
>
>
> }
>
> MenuItem
> {
>
> text: qsTr("E&xit"
> )
>
> onTriggered: Qt
> .quit();
>
>
> }
>
>
> }
>
>
> }
>
>
>
> RowLayout
> {
>
> anchors.centerIn: parent
>
>
> Button
> {
>
> id: button1
> text: qsTr("Press Me 1"
> )
>
> onClicked: messageDialog.show(qsTr("Button 1 pressed"
> ))
>
>
> }
>
>
>
> Button
> {
>
> id: button2
> text: qsTr("Press Me 2"
> )
>
>
> }
>
>
>
> Button
> {
>
> id: button3
> text: qsTr("Press Me 3"
> )
>
>
> }
>
>
> }
>
>
>
> MessageDialog
> {
>
> id: messageDialog
> title: qsTr("May I have your attention, please?"
> )
>
>
>
> function show(caption)
> {
>
> messageDialog.text = caption
> ;
>
> messageDialog
> .open();
>
>
> }
>
>
> }
> }
>
>
>
>
>
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
--
Eike Ziller, Senior Software Engineer - The Qt Company GmbH
The Qt Company GmbH, Rudower Chaussee 13, D-12489 Berlin
Geschäftsführer: Mika Pälsi, Juha Varelius, Tuula Haataja
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
More information about the Development
mailing list