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. Console Applications
Forum Updated to NodeBB v4.3 + New Features

Console Applications

Scheduled Pinned Locked Moved Solved General and Desktop
47 Posts 8 Posters 26.0k Views 5 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.
  • tomyT tomy

    @ambershark

    I agree that these console uses are very prevalent in mac os and linux and you have been on linux and it has made it that you prefer console to mouse clicks.
    I think windows command line stuff is not very annoying (and you used it to demonstrate the ability of a cmd compared to mouse clicks in the IP example!)

    Lets teach me (!) using a CLI instead of the IDE in Qt Creator:
    As shown above, I've created a console project (in the first post of the thread), then wrote a simple code in the main.cpp.
    Now in the IDE I can click on run (or ctrl+r) to see the result. Then it finishes. How to do these things (this process) using CLI without using the IDE?

    As an out of scope question: do you return the base of CMD (DOS OS) to Unix?

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #12

    @tomy "As an out of scope question: do you return the base of CMD (DOS OS) to Unix?" - what does it mean? What is base?

    Writing a simple CLI C++ app without IDE in a terminal (CMD):

    • Use an editor to write your cpp file (for example vim or what ever): vim myapp.cpp
    • Then call the compiler: g++ -o myapp myapp.cpp
    • Then start your app: ./myapp
      That's all for a simple app.
      In Qt creator you can see what it does if you press CTRL-R in "Compile Output" tab: it uses only CLI tools, like qmake, compiler (for example g++), linker,...

    Console apps are not only important on UNIX/Linux/MacOS but even on Windows. You need them for example to write scripts, build software,...

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

    1 Reply Last reply
    2
    • tomyT tomy

      @ambershark

      I agree that these console uses are very prevalent in mac os and linux and you have been on linux and it has made it that you prefer console to mouse clicks.
      I think windows command line stuff is not very annoying (and you used it to demonstrate the ability of a cmd compared to mouse clicks in the IP example!)

      Lets teach me (!) using a CLI instead of the IDE in Qt Creator:
      As shown above, I've created a console project (in the first post of the thread), then wrote a simple code in the main.cpp.
      Now in the IDE I can click on run (or ctrl+r) to see the result. Then it finishes. How to do these things (this process) using CLI without using the IDE?

      As an out of scope question: do you return the base of CMD (DOS OS) to Unix?

      A Offline
      A Offline
      ambershark
      wrote on last edited by ambershark
      #13

      @tomy @jsulm's example is perfect for linux but since I know you don't know linux yet and are using windows I'll give you the same thing for windows:

      Launch a cmd and do the following:

      > mkdir test
      > cd test
      
      create a main.cpp with somthing like:
      #include <iostream>
      
      using namespace std;
      
      int main()
      {
         cout << "hello world" << endl;
         return 0;
      }
      
      > qmake -project
      > qmake
      > mingw32-make
      > test.exe
      

      This assumes you have /path/to/qt/bin in your path variable in order to use and access qmake. It also assumes you have mingw32 compiler installed. If not substitute compilation command mingw32-make for whatever compiler you have.

      This is a great example of where linux is easier than windows on a command line (from our other thread). There is no real additional setup in linux, all the stuff @jsulm wrote works right out of the box.

      Edit: Explaining some of the commands --

      qmake -project Will create you a test.pro file. This is only done once to bootstrap your project file. After that you modify that .pro file to add the things you need.

      qmake evaluates the project file and creates a makefile for you.

      mingw32-make invokes the make program for the mingw compiler. This will execute the Makefile that was generated when you ran qmake and build your application using mingw32-g++, and other pieces it needs to compile and link.

      My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

      1 Reply Last reply
      3
      • tomyT Offline
        tomyT Offline
        tomy
        wrote on last edited by
        #14

        Thank you very much.
        One question:

        "> test.exe"

        Why should we have a test.exe file?

        mrjjM 1 Reply Last reply
        0
        • tomyT tomy

          Thank you very much.
          One question:

          "> test.exe"

          Why should we have a test.exe file?

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #15

          @tomy
          Hi
          The test.exe comes from the executing the real makefile as neatly explained
          in section "mingw32-make " :)

          1 Reply Last reply
          0
          • tomyT Offline
            tomyT Offline
            tomy
            wrote on last edited by
            #16

            Hi,

            I asked because I don't have that file in the test folder!

            mrjjM 1 Reply Last reply
            0
            • tomyT tomy

              Hi,

              I asked because I don't have that file in the test folder!

              mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by mrjj
              #17

              @tomy
              Well do you see .o file ? Maybe there is a build folder one level up?
              If not, then show the log (text) you get from running mingw32-make (step)
              Maybe there is compile or link error as that would do that no .exe is created.

              Ah, sorry. Its in the release folder

              alt text

              A 1 Reply Last reply
              1
              • mrjjM mrjj

                @tomy
                Well do you see .o file ? Maybe there is a build folder one level up?
                If not, then show the log (text) you get from running mingw32-make (step)
                Maybe there is compile or link error as that would do that no .exe is created.

                Ah, sorry. Its in the release folder

                alt text

                A Offline
                A Offline
                ambershark
                wrote on last edited by
                #18

                Oops sorry I forget that in windows things like Release/ and Debug/ folders. :)

                My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                mrjjM 1 Reply Last reply
                1
                • A ambershark

                  Oops sorry I forget that in windows things like Release/ and Debug/ folders. :)

                  mrjjM Offline
                  mrjjM Offline
                  mrjj
                  Lifetime Qt Champion
                  wrote on last edited by
                  #19

                  @ambershark
                  Well i had to follow the sample and see. Was not sure what would really happen :)

                  A 1 Reply Last reply
                  0
                  • mrjjM mrjj

                    @ambershark
                    Well i had to follow the sample and see. Was not sure what would really happen :)

                    A Offline
                    A Offline
                    ambershark
                    wrote on last edited by
                    #20

                    @mrjj Lol. I'm glad it actually worked since I just typed that out without testing anything. And I don't use windows much so I could easily have messed it up. :)

                    My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

                    1 Reply Last reply
                    0
                    • tomyT Offline
                      tomyT Offline
                      tomy
                      wrote on last edited by
                      #21

                      Sorry there isn't such a file an any folder there:
                      alt text

                      jsulmJ 1 Reply Last reply
                      0
                      • tomyT tomy

                        Sorry there isn't such a file an any folder there:
                        alt text

                        jsulmJ Offline
                        jsulmJ Offline
                        jsulm
                        Lifetime Qt Champion
                        wrote on last edited by jsulm
                        #22

                        @tomy Maybe it is just called differently? So, is there ANY *.exe file?
                        Also, if you build in CMD you actually will see which files are generated. Did you check?

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

                        1 Reply Last reply
                        0
                        • tomyT Offline
                          tomyT Offline
                          tomy
                          wrote on last edited by tomy
                          #23

                          Look, I did these:
                          Creating a C++ file named "main" with a simple code in it, in the "test" folder.
                          Then, found and ran all three commands (qmake -project, qmake, mingw32-make).
                          And the result as shown above (with no ".exe" file in the "test" folder.
                          I CMD:
                          alt text

                          jsulmJ 2 Replies Last reply
                          0
                          • tomyT tomy

                            Look, I did these:
                            Creating a C++ file named "main" with a simple code in it, in the "test" folder.
                            Then, found and ran all three commands (qmake -project, qmake, mingw32-make).
                            And the result as shown above (with no ".exe" file in the "test" folder.
                            I CMD:
                            alt text

                            jsulmJ Offline
                            jsulmJ Offline
                            jsulm
                            Lifetime Qt Champion
                            wrote on last edited by
                            #24

                            @tomy As you cen see the build failed, that's why there is no exe.

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

                            1 Reply Last reply
                            0
                            • tomyT tomy

                              Look, I did these:
                              Creating a C++ file named "main" with a simple code in it, in the "test" folder.
                              Then, found and ran all three commands (qmake -project, qmake, mingw32-make).
                              And the result as shown above (with no ".exe" file in the "test" folder.
                              I CMD:
                              alt text

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #25

                              @tomy Looks like g++ is not found.
                              Try to add the bin directory of your MinGW installation to PATH and try again.

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

                              1 Reply Last reply
                              1
                              • mrjjM Offline
                                mrjjM Offline
                                mrjj
                                Lifetime Qt Champion
                                wrote on last edited by
                                #26

                                Hi
                                An alternative to fiddling with path is to run the
                                c:\Qt\5.8\mingw53_32\bin\qtenv2.bat
                                in the cmd before trying to compile.

                                tomyT 1 Reply Last reply
                                1
                                • mrjjM mrjj

                                  Hi
                                  An alternative to fiddling with path is to run the
                                  c:\Qt\5.8\mingw53_32\bin\qtenv2.bat
                                  in the cmd before trying to compile.

                                  tomyT Offline
                                  tomyT Offline
                                  tomy
                                  wrote on last edited by tomy
                                  #27

                                  @mrjj

                                  Hi
                                  An alternative to fiddling with path is to run the
                                  c:\Qt\5.8\mingw53_32\bin\qtenv2.bat
                                  in the cmd before trying to compile.

                                  Hi,
                                  "The system cannot find the path specified."
                                  Anyway, it's not that important and we can leave it out because it's not my purpose to be familiar with running files from CMd, now. Maybe when needed.
                                  (I liked to test that simple example this way but, the testing may not be so easy) Thanks.

                                  jsulmJ mrjjM 2 Replies Last reply
                                  0
                                  • tomyT tomy

                                    @mrjj

                                    Hi
                                    An alternative to fiddling with path is to run the
                                    c:\Qt\5.8\mingw53_32\bin\qtenv2.bat
                                    in the cmd before trying to compile.

                                    Hi,
                                    "The system cannot find the path specified."
                                    Anyway, it's not that important and we can leave it out because it's not my purpose to be familiar with running files from CMd, now. Maybe when needed.
                                    (I liked to test that simple example this way but, the testing may not be so easy) Thanks.

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #28

                                    @tomy Depending on the MinGW version you install the path can be a bit different. Just search for qtenv2.bat file in your Qt installation directory.

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

                                    1 Reply Last reply
                                    0
                                    • tomyT Offline
                                      tomyT Offline
                                      tomy
                                      wrote on last edited by tomy
                                      #29

                                      Yes, I did it and I think the system is set now and ready for the next tests. You can look at this:
                                      alt text
                                      "text.exe" exists but nothing is shown after test.exe in CMD.

                                      Update:
                                      After re-opening the CMD and testing the .exe:
                                      alt text

                                      FlotisableF E mrjjM 3 Replies Last reply
                                      0
                                      • tomyT tomy

                                        Yes, I did it and I think the system is set now and ready for the next tests. You can look at this:
                                        alt text
                                        "text.exe" exists but nothing is shown after test.exe in CMD.

                                        Update:
                                        After re-opening the CMD and testing the .exe:
                                        alt text

                                        FlotisableF Offline
                                        FlotisableF Offline
                                        Flotisable
                                        wrote on last edited by
                                        #30

                                        @tomy
                                        what code you write in test?

                                        1 Reply Last reply
                                        0
                                        • tomyT tomy

                                          Yes, I did it and I think the system is set now and ready for the next tests. You can look at this:
                                          alt text
                                          "text.exe" exists but nothing is shown after test.exe in CMD.

                                          Update:
                                          After re-opening the CMD and testing the .exe:
                                          alt text

                                          E Offline
                                          E Offline
                                          Eeli K
                                          wrote on last edited by
                                          #31

                                          @tomy Locate the libgcc_... file on your system and copy it to the same directory with the exe. Or set the PATH variable. See http://stackoverflow.com/questions/4702732/the-program-cant-start-because-libgcc-s-dw2-1-dll-is-missing.

                                          1 Reply Last reply
                                          0

                                          • Login

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