Serious issue in deploying qml app with qt 5.1 list of attr. too long



  • Hey.
    My OP is Windows 7 and I am using msvc2012 32bit atm. Running my quick app from QtCreator works fine, but if I try to run it standalone the window is just white. So I made a debug build and started the app again (with all required .dlls). I got the following error-box:

    ....\debug\Qt5Cored.dll
    Module: 5.1.0
    File: scenegraph\coreapi\qsgmaterial.cpp
    Line: 313

    List of attribute names is either too long or not null-terminated.
    and so on.

    Has anybody any idea how I can fix that? Or what do I have to do, if I want a standalone version (I think I've added all required .dlls already)?

    edit: I tried it with a new project (qml 2) and I get the same message. This seems like a bigger problem...



  • I need help please...


  • Moderators

    welcome to devnet

    I have absolutely no experience with qml, but let's see what we can do.

    Is your path where you place your stuff very long?
    Is there a chance that you have confused Qt dlls?

    Can you make a simple hello world app and run it externally?



  • hi, thanks for the answer. no the path is not long, just in my documents folder. i don't think i messed smth up with the dlls. i just copied them of the compiler dir (...\Qt\5.1.0\msvc2012).
    and no, i can't run a hello world example externally. i tried that and it comes up with the same error -__-


  • Moderators

    When looking around a bit I realized that I know less of qml than expected. Certainly I can start things in Qt creator, but I do not know how to start externally.

    However, you need some C++ stub to load qml externally, if I am correct. Therefore, you should have an exe. You can check that all and the correct dlls are available with depends.exe. Some explanations are found "here.":http://qt-project.org/wiki/Show_library_dependencies#aea23489ce3aa9b6406ebb28e0cda430

    Apparently, you have already all dlls in place. However, you may load one through the path setting, which does not belong to your setup.

    Please post the C++ stub to load qml. Maybe there is an issue.



  • I'm not sure what you mean.
    Are you talking about this:

    @m_pView = new QQuickView;
    m_pView->setSource(QStringLiteral("qml/projectname/main.qml"));@

    I put the qml folder in the directory of the .exe (and the .qml file is in the correct subfolder)!
    I also tried that dependency walker already and there are some missing dlls, but i get them for all executables on my machine.
    !http://s7.directupload.net/images/130728/biz9fa2j.jpg(screen)!
    I also tried the more advanced method described in your link, with the same result.
    thanks so far, anyway.


  • Moderators

    looks all fine to me.

    [quote author="immerhart" date="1375015195"]
    I also tried the more advanced method described in your link, with the same result.
    [/quote]

    You probably meant checking the folders from where dlls were loaded. If there is not a folder showing up which is out of the general order you should be fine.

    Good luck in fixing the problem.



  • qt is used to create applications. an application which can't be distributed, isn't an application. with this "bug/whatever", 5.1 shouldn't be released, because it makes it impossible to use the main intention of qt
    (if it is a bug and not my fault).


  • Moderators

    [quote author="immerhart" date="1375025238"]qt is used to create applications. an application which can't be distributed, isn't an application. with this "bug/whatever", 5.1 shouldn't be released, because it makes it impossible to use the main intention of qt
    (if it is a bug and not my fault).[/quote]

    I do not know if this is a bug or not.
    However, I would assume that a general bug as you assume would create much more noise in this forum. There are a lot of people apparently using qml and they are distributing stuff.

    In general Qt does work and you can also publish your applications. It does also work on Windows (xp, 7, different windows servers). I am using Qt for a couple of years now. As any software it is not completely bug free and there are always some things which cannot be fixed immediately.

    It might be also an issue of the compiler you are using. As an alternative you could install Qt with MinGW compiler. I have installed Qt 5.1 MinGW compilation lately. I skipped Qt 5.0 and waited to upgrade from Qt 4.8.4. I had a couple of issues, but less than initially expected, since it is a change of the major version number. However, my applications are working and I can deploy them, but they are not using qml.

    I am going to change the title of your post. Possibly attracting some qml guys.



  • kk, thanks.


Log in to reply
 

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