QML project can't be run by Static Qt linking version , Qt 5.2



  • I can't run QML project by Static Qt linking version , Qt 5.2 rc1 on Windows 7 or Windows 8

    An error occurred:
    Project ERROR: Unknown module(s) in QT: quick qml

    It's very simple project of built in qml "Hello World" message.

    I downloaded qt-package-opensource from :
    http://download.qt-project.org/development_releases/qt/5.2/5.2.0-rc1/single/

    Also, I found that is ageneral bug for many peaple,
    https://bugreports.qt-project.org/browse/QTBUG-28357

    But, any fix didn't solve my problem.

    I need to get standalone exe file of my application.
    Any help, please,

    Thank you,



  • Hello and welcome to qt-project.org,

    i've got no solution, but could it be that you have to add qtquick as a flag when making qt?



  • Thank you for reply
    actually, i'm new in qt, how can I add this flag?

    I used this to configure
    configure -static -release -opensource -opengl desktop

    and use that in .pro file
    QT += core gui qml quick



  • Well it was only a guess but i'll see what i can find. Your pro file looks alright so far.

    -- Update --

    I couldn't find a flag for quick nor for qml.

    bq. I had similar problem when building Qt5 for iOS. The issue is related to qml import path. It includes hardcoded path to qtbase/import even when Qt is built with option "-static". When the applications starts, qml engine tries to import plugins from the Qt's directory, detects qmldir and complains of missing qtquick2plugin.

    A fix would be:

    bq. Easy workaround is to clear the import path list in the app main:
    viewer.engine()->setImportPathList(QStringList());
    Of course still you have to initialize plugin manually:
    qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuick2Plugin().instance())->registerTypes("QtQuick");

    Have you already tried this?



  • Thank you,

    I tried it only now:
    My code is:

    @ QtQuick2ApplicationViewer viewer;

    viewer.engine()->setImportPathList(QStringList());
    qobject_cast<QQmlExtensionPlugin*>(qt_static_plugin_QtQuick2Plugin().instance())->registerTypes("QtQuick");
    
    viewer.setMainQmlFile&#40;QStringLiteral("qml/untitled1/main.qml"&#41;);
    viewer.showExpanded();
    

    @

    but still I have same error:
    error: Unknown module(s) in QT: quick qml

    when I try to build with built in desktop kit, i faced some problems with this code.

    I don't know, Should I change any this in this code before use ?



  • All what I need is to get Stand-Alone .exe file for my project.

    Is there any other way ( without static qt linking version ) ??



  • Sorry, but i can't help you out then. I've never compiled statically.



  • Thank you very much.

    last thing, do you know how we can get stand-alone file for project release by other way ? a closed project package to send and run on devices





  • Thank you for your time



  • You're welcome. If you still got some questions, feel free to ask.



  • Sir, help me to understand.

    First, I dont need installer. But, app .exe file which work in any place without depending on any other files. Like .apk for Android from Eclipse or .ipa from xcode for IOS.

    Now, I feel that I got very confused.
    Can you help me to know the real problem ?

    All what I need is this Stand-Alone exe file of project.
    The .exe file in "Release" folder doesn't work for QML projects.

    And I have this error:
    !E:\Qt\q.png()!

    When I searched, some said that I have to create static run version of qt to get this Stand-Alone exe file. But I see now that may that is very wrong.

    What is your opinion ?

    Sorry, for disturbance



  • Sorry, error is

    • The procedure entry point _Z8qWinMainP11HINSTANCE__S0_PciRiR7QVectorIS1_E could not be located in the dynamic link library E:\Qt\build-untitled1-Desktop_Qt_5_2_0_MinGW_32bit-Release\release\untitled1.exe

    I searched about it, and some say some missing dlls, but nothing i found after installing all missing dlls.



  • The second link i posted is about deploying applications on android devices, i guess that means .apk. About the error: You'll find all necessary DLL's in:

    PATH_TO_YOUR_QT\YOUR_QT_VERSION\YOUR_COMPILER\bin&#42;.dll

    for example:

    C:\Qt\5.2.1\mingw48_32\bin&#42;.dll

    Don't forget to check for dependencies.



  • ok, I know that this dlls are in bin folder, but what i do with it ? but it in my project "Release" folder ?



  • Yes, if you don't build statically you have to put the required dll's from the dll folder into your Release folder or the folder where your .exe is. If you are building statically your compiler will put all required libraries into your .exe.



  • Thank you, That works great.

    Still search about static version.



  • You're welcome. I'll see what else i can find about your issue.



  • I have the same problem with stand alone qml app. People, please, help!



  • Hey,

    please provide us some further informations about your problem.



  • I built qt staticaly.
    Qt widgets applications works on my static kit. But qt quick applications doesn't work!
    Then i tried to run default qt quick "hello world" on static kit and i failed to push run button because it was disabled. This program is working on normal kit.
    In qt versions window when choosing my static qt i see warning sign and "No qmlscene installed" and "No qmlviewer installed".
    In General Message window i see "Project ERROR: Unknown module(s) in QT: quick qml".
    In static configuration "Run" button is disabled and onMouseHover it shows tooltip: ".pro file coudn't be parsed"

    .pro file is default:
    @
    TEMPLATE = app

    QT += qml quick widgets

    SOURCES += main.cpp

    RESOURCES += qml.qrc

    Additional import path used to resolve QML modules in Qt Creator's code model

    QML_IMPORT_PATH =

    Default rules for deployment.

    include(deployment.pri)
    @



  • I built qt with configure params: -debug-and-release -opensource -static -opengl desktop -no-vcproj -nomake examples

    Then i executed: mingw32-make sub_src



  • I provided futher information and still no answers...



  • Hello,

    i'm sorry for my late answer, but i wasn't able to write you in the last few days. My .pro file looks almost like yours except for that my QT has only got qml and quick included.
    @QT += qml quick@
    But that shouldn't be the problem, your issue is a well known issue, you might check out this threads for further informations:
    "QML apps not runnable using static build up to Qt 5.0.1 release!":http://qt-project.org/forums/viewthread/22566
    "Build qml statically":http://www.qtcentre.org/threads/36271-Build-qml-statically
    Also which QT version are you using?



  • i am using 5.3 qt version. I downloaded it to test standalone apps and qml declaration of interface. I am very interested in qt and i want to migrate from c#/wpf. But this "small" issue is very disapointing me. I think there is a solution but i already wasted 1 week for it.



  • Thank you for your answers. Can you tell me: does your qt can create standalone qml applications?



  • I am also using Qt 5.3. I will try it out later this day when i have more time and then i will provide what happens on my device. On which operating systems/devices do you want to use QML and your Applications? I can only recommend you to use QT for desktop devices. It works for mobile devices but for example for android i would rather use Java and the Android API.



  • Yes i want to use qt for desktop: Windows, Linux, may be Mac. For mobile devices i wanted just to play with qt, not for seriose app.



  • Sorry, i don't have enough time today to do this, i will try it out tomorrow. You might want to check out the threads i postet earlier meanwhile.



  • I just solved the problem. The key feature was in start configure from Src folder, NOT from Src/qtbase.
    But i have another problem. Applications works on my computer, but not works on another. In QtCreator\Qt Versions i see warning:
    Non-installed -prefix build - for internal development only. In qt i am a newbie and i do not know what it is means. Help me please!


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.