Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Impossible Generate Executable whit its dependecy
Forum Updated to NodeBB v4.3 + New Features

Impossible Generate Executable whit its dependecy

Scheduled Pinned Locked Moved Solved General and Desktop
22 Posts 6 Posters 816 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A AntGP

    @SGaist
    I'm clearly not an expert on the subject, but I think the documentation you gave can help me.

    Looking at it i'v managed to understand a bit what was done across the different .pro
    And i noticed that every single one had :
    Include(common.pro) ??
    TEMPLATE = subdirs like the exemples on the wiki

    And looking at that common i don't really know what it mean.

    #DEFINES += NO_GRAPHVIZ
    
    INCLUDEPATH+=$$PWD
    #DEPENDPATH += $$PWD
    #include($$PWD/config/config.pri)
    
    DESTDIR = $$PWD/bin
    ROOTDIR = $$PWD
    OBJECTS_DIR = $$ROOTDIR/objects/$$TARGET
    INCLUDEPATH +=$$ROOTDIR/../boost/
    
    unix:INCLUDEPATH+=/usr/include/graphviz
    
    CONFIG += c++11
    
    QT       += core widgets gui svg
    LIBS += -Wl,--start-group
    
    for(dep, DEPENDENCY_LIBRARIES) {
    
        LIBS += -L$$ROOTDIR/lib/ -l$${dep}
        PRE_TARGETDEPS += $$ROOTDIR/lib/lib$${dep}.a
    }
    
    LIBS += -Wl,--end-group
    QMAKE_CXXFLAGS += -Wno-unused-local-typedefs
    
    

    I have the impression it's ovewriting every configuration I try to make to generate an executable by redirecting everithing to the bin folder on the same path as it self

    And it don't generate any dll and generate copy all the source code under the name moc_xxx.cpp ... i'm really stuck

    ps: the .pro file i use to build and execute my project

    #-------------------------------------------------
    #
    # Project created by QtCreator 2013-06-28T11:05:37
    #
    #-------------------------------------------------
    include(common.pro)
    TEMPLATE = subdirs
    CONFIG += ordered
    SUBDIRS += models
    
    SUBDIRS += controllers
    SUBDIRS += undo
    
    SUBDIRS += utils
    SUBDIRS += addons
    SUBDIRS += config
    SUBDIRS += cppViews
    
    #SUBDIRS += modelsTest
    #SUBDIRS += undoTest
    SUBDIRS += application
    
    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote last edited by
    #4

    @AntGP Did you run qmake in a clean build folder? What happens exactly when you build? Any warnings/errors?

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • A Offline
      A Offline
      AntGP
      wrote last edited by AntGP
      #5

      Qmake is via a terminal ? I run MiniGW, and even when i try to run it on a clean foler it got build on the same folder

      Some files are generated on the folder i selected, like some makefiles and qmake.stash, but nothing else, and everithing is in the midle of the source code

      I'm not the one who made that, it's somthing from 2013 and no one is still around to explain how they managed to generate a working executable

      jsulmJ 1 Reply Last reply
      0
      • A AntGP

        Qmake is via a terminal ? I run MiniGW, and even when i try to run it on a clean foler it got build on the same folder

        Some files are generated on the folder i selected, like some makefiles and qmake.stash, but nothing else, and everithing is in the midle of the source code

        I'm not the one who made that, it's somthing from 2013 and no one is still around to explain how they managed to generate a working executable

        jsulmJ Offline
        jsulmJ Offline
        jsulm
        Lifetime Qt Champion
        wrote last edited by
        #6

        @AntGP said in Impossible Generate Executable whit its dependecy:

        everithing is in the midle of the source code

        Where is your build folder?
        After calling qmake you need to start the actual build (by calling make for example).

        https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • A Offline
          A Offline
          AntGP
          wrote last edited by AntGP
          #7

          image.png
          the build folder is in the midle of all other folder. i'v highlighted the source code folders
          and i build using thoose buttons on Qt creator :

          image.png

          And whatever i change in the project tab, it allways build here, not on the folder i select

          jsulmJ Pl45m4P 2 Replies Last reply
          0
          • A AntGP

            image.png
            the build folder is in the midle of all other folder. i'v highlighted the source code folders
            and i build using thoose buttons on Qt creator :

            image.png

            And whatever i change in the project tab, it allways build here, not on the folder i select

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote last edited by
            #8

            @AntGP QtCreator sets the build folder, check what is set there

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • A Offline
              A Offline
              AntGP
              wrote last edited by
              #9

              image.png
              by default it set on the project folder

              image.png
              But when i try to change the folder it put a warning message and then change nothing

              jsulmJ 1 Reply Last reply
              0
              • A AntGP

                image.png
                the build folder is in the midle of all other folder. i'v highlighted the source code folders
                and i build using thoose buttons on Qt creator :

                image.png

                And whatever i change in the project tab, it allways build here, not on the folder i select

                Pl45m4P Offline
                Pl45m4P Offline
                Pl45m4
                wrote last edited by
                #10

                @AntGP said in Impossible Generate Executable whit its dependecy:

                and i build using thoose buttons on Qt creator

                Sorry have to say, this answer is... something... creative :D

                @AntGP Don't worry about the structure or the multiple *.pro files. It's common for larger projects with submodules, which need some extra build/install configuration...
                The include includes other .pro files, so you can share variables and functions/macros. That's why there is a common.pro which is included in (almost) every other pro (-ject).

                @AntGP said in Impossible Generate Executable whit its dependecy:

                I'm working on a very strange project that has multiple .pro files that are built into multiples .exe

                There is nothing strange about that. Having projects with more than one executable and multiple libraries is also standard.
                What does this whole thing do? What kind of project is it?
                What is your goal?! Just building it? Because I see you commented some of the submodules in the .pro file, so they are not included?!


                If debugging is the process of removing software bugs, then programming must be the process of putting them in.

                ~E. W. Dijkstra

                A 1 Reply Last reply
                1
                • A AntGP

                  image.png
                  by default it set on the project folder

                  image.png
                  But when i try to change the folder it put a warning message and then change nothing

                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote last edited by
                  #11

                  @AntGP said in Impossible Generate Executable whit its dependecy:

                  But when i try to change the folder it put a warning message and then change nothing

                  That's because QtCreator expects the build folder to be outside the source tree. Any reason why you want to have the build folder inside the tree folder?

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • Pl45m4P Pl45m4

                    @AntGP said in Impossible Generate Executable whit its dependecy:

                    and i build using thoose buttons on Qt creator

                    Sorry have to say, this answer is... something... creative :D

                    @AntGP Don't worry about the structure or the multiple *.pro files. It's common for larger projects with submodules, which need some extra build/install configuration...
                    The include includes other .pro files, so you can share variables and functions/macros. That's why there is a common.pro which is included in (almost) every other pro (-ject).

                    @AntGP said in Impossible Generate Executable whit its dependecy:

                    I'm working on a very strange project that has multiple .pro files that are built into multiples .exe

                    There is nothing strange about that. Having projects with more than one executable and multiple libraries is also standard.
                    What does this whole thing do? What kind of project is it?
                    What is your goal?! Just building it? Because I see you commented some of the submodules in the .pro file, so they are not included?!

                    A Offline
                    A Offline
                    AntGP
                    wrote last edited by AntGP
                    #12

                    @Pl45m4 said in Impossible Generate Executable whit its dependecy:

                    What does this whole thing do?

                    My goals are to have the executable able to work whiout all the source code, i don't want any .cpp allongside the exe so i can share the programme, and not have 1Go of source code with it

                    @Pl45m4 said in Impossible Generate Executable whit its dependecy:

                    There is nothing strange about that.
                    It's a 15 years old project whit no documentation, no comments on the code, lot of java script, and at least 4 differents dev befor me
                    It can be built, but not outside of the source code folder

                    @jsulm said in Impossible Generate Executable whit its dependecy:

                    That's because QtCreator expects the build folder to be outside the source tree. Any reason why you want to have the build folder inside the tree folder?

                    That what i'm trying to do, i want to build it on my desktop and not on my source tree, but it build on the source tree even if i don't want and say otherwise, and if i try to move the .exe it say it miss some dll that are not even on the project or anywhere on my computer

                    (i think the name of the topic is not the best one whit some insight on the issues i have now)

                    Pl45m4P 1 Reply Last reply
                    0
                    • A AntGP

                      @Pl45m4 said in Impossible Generate Executable whit its dependecy:

                      What does this whole thing do?

                      My goals are to have the executable able to work whiout all the source code, i don't want any .cpp allongside the exe so i can share the programme, and not have 1Go of source code with it

                      @Pl45m4 said in Impossible Generate Executable whit its dependecy:

                      There is nothing strange about that.
                      It's a 15 years old project whit no documentation, no comments on the code, lot of java script, and at least 4 differents dev befor me
                      It can be built, but not outside of the source code folder

                      @jsulm said in Impossible Generate Executable whit its dependecy:

                      That's because QtCreator expects the build folder to be outside the source tree. Any reason why you want to have the build folder inside the tree folder?

                      That what i'm trying to do, i want to build it on my desktop and not on my source tree, but it build on the source tree even if i don't want and say otherwise, and if i try to move the .exe it say it miss some dll that are not even on the project or anywhere on my computer

                      (i think the name of the topic is not the best one whit some insight on the issues i have now)

                      Pl45m4P Offline
                      Pl45m4P Offline
                      Pl45m4
                      wrote last edited by
                      #13

                      @AntGP said in Impossible Generate Executable whit its dependecy:

                      It can be built, but not outside of the source code folder

                      So it builds in your IDE?
                      Then you are looking for Qt Deployment to run it standalone (as far as possible, you gonna need some DLLs to ship your app) as .exe


                      If debugging is the process of removing software bugs, then programming must be the process of putting them in.

                      ~E. W. Dijkstra

                      1 Reply Last reply
                      1
                      • A Offline
                        A Offline
                        AntGP
                        wrote last edited by
                        #14

                        image.png

                        I'v tried to follow the tutorial, then to follow some youtube video ( https://www.youtube.com/watch?v=rFHPOZoqzcg) but it still doesn't work, it do the same and ask for some dll that are not existing at all
                        But it doesnt ask for them if im on the source tree

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          AntGP
                          wrote last edited by AntGP
                          #15

                          *it appear they where on mingw

                          but now it don't work at all
                          c554710e-b7a9-4f88-b343-ac385b18467c-image.png

                          1 Reply Last reply
                          0
                          • SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote last edited by SGaist
                            #16

                            Ok, so they should have used the .pri extension (it's mainly a convention but it clearly separates a project file from a inclusion file (and the .prf which is for features).

                            The main issue here is that the project forces everything to be "in-tree". It should not be PWD but OUT_PWD for anything that is related to build artifacts. However, you should just remove these lines (DESTDIR and OBJECTS_DIR).

                            As for starting the application, did you modify the PATH environment variable in the Run part of the Project panel so that the dependencies can be found ? (do not do it system wide).

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            A 1 Reply Last reply
                            1
                            • hskoglundH Offline
                              hskoglundH Offline
                              hskoglund
                              wrote last edited by
                              #17

                              Also, to add to @SGaist, that last error you got (0xc000007b) means that while you copied the correct names of the dlls, you copied the wrong version of them:
                              the 64-bit version of the dlls when the ,exe file is 32-bit or the other way around.

                              JonBJ 1 Reply Last reply
                              1
                              • hskoglundH hskoglund

                                Also, to add to @SGaist, that last error you got (0xc000007b) means that while you copied the correct names of the dlls, you copied the wrong version of them:
                                the 64-bit version of the dlls when the ,exe file is 32-bit or the other way around.

                                JonBJ Offline
                                JonBJ Offline
                                JonB
                                wrote last edited by
                                #18

                                @hskoglund That would be useful to know, does that error number always indicate a 32-/64-bit mismatch?

                                1 Reply Last reply
                                0
                                • hskoglundH Offline
                                  hskoglundH Offline
                                  hskoglund
                                  wrote last edited by
                                  #19

                                  Yeah, pretty much always. (Much better compared to the other error 0xc000007c, which can occur due to multiple different reasons.)

                                  JonBJ 1 Reply Last reply
                                  1
                                  • hskoglundH hskoglund

                                    Yeah, pretty much always. (Much better compared to the other error 0xc000007c, which can occur due to multiple different reasons.)

                                    JonBJ Offline
                                    JonBJ Offline
                                    JonB
                                    wrote last edited by
                                    #20

                                    @hskoglund I'll try to remember 7b over 7c :)

                                    1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      Ok, so they should have used the .pri extension (it's mainly a convention but it clearly separates a project file from a inclusion file (and the .prf which is for features).

                                      The main issue here is that the project forces everything to be "in-tree". It should not be PWD but OUT_PWD for anything that is related to build artifacts. However, you should just remove these lines (DESTDIR and OBJECTS_DIR).

                                      As for starting the application, did you modify the PATH environment variable in the Run part of the Project panel so that the dependencies can be found ? (do not do it system wide).

                                      A Offline
                                      A Offline
                                      AntGP
                                      wrote last edited by AntGP
                                      #21

                                      @SGaist said in Impossible Generate Executable whit its dependecy:

                                      Ok, so they should have used the .pri extension (it's mainly a convention but it clearly separates a project file from a inclusion file (and the .prf which is for features).

                                      Yes there is some .pri , even some java script , some .conf and xml files needed by the project to work

                                      @hskoglund said in Impossible Generate Executable whit its dependecy:

                                      Also, to add to @SGaist, that last error you got (0xc000007b) means that while you copied the correct names of the dlls, you copied the wrong version of them:

                                      I already searched, everything on my computer is 64, and the dll i took was from mingw81_64, nothing from a 32 bits

                                      What's very strange is that on the project tree, i can double click on the executable it don't work, but Qt creator manage to run it whiout issues

                                      1 Reply Last reply
                                      0
                                      • SGaistS SGaist

                                        Hi,

                                        While 18 is large, it's not completely extraordinary (just take the Qt5 sources for an example of large qmake based project).

                                        However .pro files calling each other does not sound right. For "multi-projects" project, there is the subdirs template. I think you should check that as a starting point.

                                        A Offline
                                        A Offline
                                        AntGP
                                        wrote last edited by AntGP
                                        #22

                                        i'v redo all the install, and the things, it appeared it was missing a dll it didnot asked for (libwinpthread-1.dll)

                                        And after bumping my head against my keyboard doing weird things, i have now a standalone folder whit no source code. It can be moved where i want even on a virtual machine and it worked

                                        How to solve my issue and a small summary of what i'v done

                                        @jsulm said in Impossible Generate Executable whit its dependecy:

                                        After calling qmake you need to start the actual build

                                        @Pl45m4 said in Impossible Generate Executable whit its dependecy:

                                        Then you are looking for Qt Deployment to run it standalone

                                        @AntGP said in Impossible Generate Executable whit its dependecy:

                                        I'v tried to follow the tutorial, then to follow some youtube video ( https://www.youtube.com/watch?v=rFHPOZoqzcg)

                                        Some dll where missing

                                        @AntGP said in Impossible Generate Executable whit its dependecy:

                                        *it appear they where on mingw

                                        there is an error
                                        I'v redone everything from the start, no more error, just the application not launching, only making a small white square on the midle of the screen

                                        Then I bumped my head on my keyboard to copy past on the same tree shape (a bin folder whit all the other folder around on the same format as in the source tree) all the json, .conf, the images, the csv, xml and some library one by one until double clicking on the .exe do execute the application

                                        AND NOW IT WORK \o/ yay

                                        Thank you all for the help !

                                        1 Reply Last reply
                                        0
                                        • A AntGP has marked this topic as solved

                                        • Login

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Users
                                        • Groups
                                        • Search
                                        • Get Qt Extensions
                                        • Unsolved