Skip to content
  • 0 Votes
    1 Posts
    132 Views
    No one has replied
  • 0 Votes
    13 Posts
    2k Views
    JKSHJ

    @UvQtcYZJuD7J5VW7 said in Dependencies missing after DLL compilation:

    Unfortunately, LabView is not very talkative. This is the only error message I get. I have already recreated the node.

    Ah, check the dependencies of the DLLs that you deployed. For example, libgcc_s_dw2-1.dll depends on other DLLs too.

    Otherwise I could programming the entire program in Qt and so I will not have the need to use a DLL.

    If you can do everything in 1 language, that makes life a lot easier.

  • 1 Votes
    11 Posts
    1k Views
    D

    @J-Hilk Thanks for the reply. This adds a bit of complexity to my WIX installer since I don't want to list all 700+ files individually. Do you know if there is anyway to deploy these files in a folder other than where the executable is located? I would like to dump all of the QT dependencies in one folder (which can have subfolders) but I need to be able to "blow away" all of the Qt related dependencies by deleting one directory while being confident that I didn't delete anything but Qt dependencies.

  • 0 Votes
    13 Posts
    2k Views
    kshegunovK

    The only drawback is that 3rd-party modules cannot depend on one another unless they are submitted for inclusion in the core pool of modules. But it seems like this is just the price to pay for this kind of system?

    Sorry for the long delay, I was traveling and had no time to actually look at the forum.
    Yes, I would say that your summary is correct, and in that light I'd say what @VRonin had suggested as a way to build up the dependencies is probably best. That is - you have a set of core libraries that provide whatever they provide (which was what @SGaist mentioned in passing) and you stick to runtime loaded plugins being self-contained units that can't and/or won't depend on one another.

  • 0 Votes
    8 Posts
    735 Views
    kshegunovK

    @yassser said in Qt MetaType and Circular Dependency:

    correct me if i'm wrong but does the copying part mean that you cant copy the properties to variant using QVariant::fromValue(QObject*) because it is working some QObject Derived classes in the Project , or you mean add the QObject subclass to the Qt Standard Types as in this exemple CustomTypes there is 3 requirement

    Both. When adding a QObject * to a QVariant you copy nothing, you just transfer a reference, and if that reference disappears in the mean time, well that's cause for concern.

    @yassser said in Qt MetaType and Circular Dependency:

    as for declaring QList<B*> i will switch to the typedef solution as it is more safe like you said although the other one(declar_type(QList<B*>)) is working somehow

    For what it's worth, declaration of metatypes should happen where the type is defined, not somewhere else. So even ideologically:

    class B; Q_DECLARE_METATYPE(QList<B*>)

    is wrong. That metatype declaration should've gone where B is defined, aside from it being needed or not.

    but the core problem i'm facing is the requirement of Q_DECLARE_METATYPE(B*) that B should be fully defined(defining the class using #include'b.h' instead of 'class B')

    Still talking hypotheticals. I don't see any concrete error that one gets from the compiler, nor a specific piece of cpp code that's the cause of said error.

    as i cant include the header files because it will cause circular dependency because A it self require the same process

    Where does it require that and why? Please post a snippet, I'm getting rather frustrated here. Consider this in the meantime:

    class B; typedef QList<B *> BList; class A { public: void setBList(const BList &); //< This doesn't require a definition of BList, and by extension a definition of B isn't required BList bList() const; //< Nor does this };
  • 0 Votes
    15 Posts
    7k Views
    J.HilkJ

    @Burke212

    change

    setup(); CWC = new customWidgetClass();

    to

    CWC = new customWidgetClass(); setup();

    hopefully you did initialize CWC as nullptr, otherwise that would have crashed in release mode 10/10 times.

  • 0 Votes
    4 Posts
    1k Views
    SGaistS

    No, as suggested in my previous post, you have to deploy the Qt Multimedia plugins.

    Did you use windeployqt to prepare your application for deployment ?

  • 0 Votes
    5 Posts
    14k Views
    StevenFSS

    @SGaist
    I sincerely want to thank you for your help! This project took six-months and your assistance was crucial in getting over the goal line in the final week. If I missed that hard deadline my six-month contract-to-hire would have been terminated. Partly because of your assistance I made it work and was hired full-time permanent! We shipped Version 1.0 and two weeks later I delivered a significant V1.1 follow up!.

    I momentarily had it setup as a (static?)linked library but backtracked to direct #includes from the /common/ folder, mainly because I understood it better. I intend to switch again to the library method because of compile times as you suggested. I was also scared off by an article suggesting I would need to add C++ #EXTERN statements, etc. to create a public interface for the library. Is that true, or can the .pro/.pri files define that folder as a library with NO changes to the C++?

    I still have to migrate *.qml files to the /common/ but I assume it's basically the same pattern as the C++. I haven't replied because I thought I had more questions but the project has been moving too rapidly.

    Thank you!

  • 0 Votes
    10 Posts
    5k Views
    tansgumusT

    @hskoglund said in Crushes after deploying!:

    Hi, googling finds many with the same problem, for example here
    Just guessing, but perhaps you could try some of the suggestions in there...

    Thanks for the link.
    It seems this issue doesn't even solved in Stack Overflow :(

    Any way, I did some of the suggestions mentioned in it.

    Installed all redistributable package of x86 (cuz I built my app using Qt mingw53_32) for 2012 - 2013 - 2015 - 2017 (I tested my app after each vcredist) Installed all redistributable package of x64 for 2012 - 2013 - 2015 - 2017 (I tested my app after each vcredist)

    Nothing changed still see my app crashes without any logical reason!

    Now I'm very sad because I can run my app only if I installed Qt on my machine which is impractical solution for deploying my app.

  • 0 Votes
    9 Posts
    9k Views
    SGaistS

    @mit_cruze Unless I missed something, it's highly unlikely that building Qt 5.12.0 with the options you passed ended in installing it in /usr/local/Qt-5.7.1.

  • 0 Votes
    4 Posts
    6k Views
    sierdzioS

    Good info, @SGaist thanks :-) That link goes straight to my bookmarks.

  • 0 Votes
    2 Posts
    889 Views
    VRoninV

    You can set Project A.3 (subdirs) to depend on Project A.1 (subdirs) of course this create a problem if Project A.1.2 (app) depends on Project A.3.1 (lib)

  • 0 Votes
    6 Posts
    2k Views
    SGaistS

    Hi,

    One thing that you could try is to add a custom target that will call windeployqt on your target. Something a bit like the tests target when using Qt's unit tests module.

    Hope it helps

  • 0 Votes
    7 Posts
    3k Views
    SGaistS

    You're welcome !

    Don't forget to remove the "not answered" from the title ;)

  • 0 Votes
    4 Posts
    4k Views
    mrjjM

    @Alexorleon
    Yes use another distro than rhel v6.7 :)

  • 0 Votes
    3 Posts
    2k Views
    JKSHJ

    Hi,

    @GrahamL said:

    I am after some ideas and hints on how to reduce the dependencies between them.

    First, draw a class diagram to show the relationships between all your classes. Arrange your diagram so that the classes in the same library are all close together.

    Then, look through your diagram to find relationships that should not exist. For example, try to eliminate all circular dependencies between libraries. (A circular dependency is where ClassA depends on ClassB, but ClassB also depends on ClassA).