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. problem with System()
Forum Updated to NodeBB v4.3 + New Features

problem with System()

Scheduled Pinned Locked Moved Unsolved General and Desktop
system commandsystem
37 Posts 5 Posters 13.3k 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.
  • SGaistS SGaist

    Then run your application through the debugger.

    AlvaroSA Offline
    AlvaroSA Offline
    AlvaroS
    wrote on last edited by
    #8

    @SGaist Now I do this:

        QString program = "./home/princi";
        QStringList arguments;
    
        arguments << "0" << QString::number(wps.front().x()) << QString::number(wps.front().y()) << "0" << QString::number(wps.back().x()) << QString::number(wps.back().y()) << "prueba_princi.bmp" << "0 0 +" ;
    
        QProcess myProcess;
    
        myProcess.start(program,arguments);
    

    it compiles good but my application does not run...

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

      You call it with a path relative to where you main application is started.

      ./home/princi is equivalent to $PWD/home/princi/ which is likely not what you want, is it ?

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

      AlvaroSA 2 Replies Last reply
      2
      • SGaistS SGaist

        You call it with a path relative to where you main application is started.

        ./home/princi is equivalent to $PWD/home/princi/ which is likely not what you want, is it ?

        AlvaroSA Offline
        AlvaroSA Offline
        AlvaroS
        wrote on last edited by
        #10

        @SGaist yes! but it does not run with that code..

        1 Reply Last reply
        0
        • SGaistS SGaist

          You call it with a path relative to where you main application is started.

          ./home/princi is equivalent to $PWD/home/princi/ which is likely not what you want, is it ?

          AlvaroSA Offline
          AlvaroSA Offline
          AlvaroS
          wrote on last edited by
          #11

          @SGaist Now I do this and nothing as well..

              QString program = "princi";
              QStringList arguments;
          
              arguments << "0" << QString::number(wps.front().x()) << QString::number(wps.front().y()) << "0" << QString::number(wps.back().x()) << QString::number(wps.back().y()) << "prueba_princi.bmp" << "0 0 +" ;
          
              QString folder = "/home/";
          
              QProcess *myProcess = new QProcess(this);
          
              myProcess->setWorkingDirectory(folder);
          
              myProcess->start(program,arguments);
          
          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #12

            What is the full path to princi ? And what is the full path to your application ?

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

            AlvaroSA 1 Reply Last reply
            0
            • SGaistS SGaist

              What is the full path to princi ? And what is the full path to your application ?

              AlvaroSA Offline
              AlvaroSA Offline
              AlvaroS
              wrote on last edited by
              #13

              @SGaist Full path of princi (which is the executable) is /home/
              and full path of my QT aplication is /home/workspace

              1 Reply Last reply
              0
              • jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #14

                /home is not the full path to your application except it is called home and is located in the root directory.
                So, you can start the program in a shell with /home/princi?
                Did you try it?
                This is quite strange path: in /home you usually have a directory for each user and /home is not writable by normal user.

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

                AlvaroSA 1 Reply Last reply
                2
                • jsulmJ jsulm

                  /home is not the full path to your application except it is called home and is located in the root directory.
                  So, you can start the program in a shell with /home/princi?
                  Did you try it?
                  This is quite strange path: in /home you usually have a directory for each user and /home is not writable by normal user.

                  AlvaroSA Offline
                  AlvaroSA Offline
                  AlvaroS
                  wrote on last edited by
                  #15

                  @jsulm sorry yes, it is in /home/user1/ but it does not run as well...

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

                    @AlvaroS said:

                    QString program = "princi";

                    should be

                    QString program = "/home/user1/princi";

                    ?

                    AlvaroSA 1 Reply Last reply
                    1
                    • mrjjM mrjj

                      @AlvaroS said:

                      QString program = "princi";

                      should be

                      QString program = "/home/user1/princi";

                      ?

                      AlvaroSA Offline
                      AlvaroSA Offline
                      AlvaroS
                      wrote on last edited by
                      #17

                      @mrjj It works in the same way... :(

                      jsulmJ mrjjM 2 Replies Last reply
                      0
                      • AlvaroSA AlvaroS

                        @mrjj It works in the same way... :(

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

                        @AlvaroS So, if you enter /home/user1/princi in a terminal window and press enter it does not start? What happens? Any error message?

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

                        AlvaroSA 1 Reply Last reply
                        1
                        • AlvaroSA AlvaroS

                          @mrjj It works in the same way... :(

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

                          @AlvaroS

                          Ok, you must debug then
                          try to use
                          http://doc.qt.io/qt-5/qprocess.html#error
                          to see what it thinks.

                          AlvaroSA 1 Reply Last reply
                          2
                          • jsulmJ jsulm

                            @AlvaroS So, if you enter /home/user1/princi in a terminal window and press enter it does not start? What happens? Any error message?

                            AlvaroSA Offline
                            AlvaroSA Offline
                            AlvaroS
                            wrote on last edited by
                            #20

                            @jsulm In a terminal if I write

                            ./princi 0 747.37 427.68 0 844.37 42.54 prueba_princi.bmp 0 0 +
                            

                            in /home/user1/ directory it runs good

                            jsulmJ AlvaroSA 2 Replies Last reply
                            0
                            • AlvaroSA AlvaroS

                              @jsulm In a terminal if I write

                              ./princi 0 747.37 427.68 0 844.37 42.54 prueba_princi.bmp 0 0 +
                              

                              in /home/user1/ directory it runs good

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

                              @AlvaroS Then try what @mrjj suggested

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

                              1 Reply Last reply
                              0
                              • mrjjM mrjj

                                @AlvaroS

                                Ok, you must debug then
                                try to use
                                http://doc.qt.io/qt-5/qprocess.html#error
                                to see what it thinks.

                                AlvaroSA Offline
                                AlvaroSA Offline
                                AlvaroS
                                wrote on last edited by
                                #22
                                This post is deleted!
                                mrjjM 1 Reply Last reply
                                0
                                • AlvaroSA AlvaroS

                                  @jsulm In a terminal if I write

                                  ./princi 0 747.37 427.68 0 844.37 42.54 prueba_princi.bmp 0 0 +
                                  

                                  in /home/user1/ directory it runs good

                                  AlvaroSA Offline
                                  AlvaroSA Offline
                                  AlvaroS
                                  wrote on last edited by AlvaroS
                                  #23

                                  @AlvaroS said:

                                  @jsulm In a terminal if I write

                                  ./princi 0 747.37 427.68 0 844.37 42.54 prueba_princi.bmp 0 0 +
                                  

                                  in /home/user1/ directory it runs good

                                  @jsulm said:

                                  @AlvaroS Then try what @mrjj suggested

                                  okey, it gives me UnknowError.... http://doc.qt.io/qt-5/qprocess.html#ProcessError-enum

                                  1 Reply Last reply
                                  0
                                  • AlvaroSA AlvaroS

                                    This post is deleted!

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

                                    @AlvaroS

                                    well you can use
                                    qDebug() "qproc: " << myProcess->error();

                                    and check the code in
                                    http://doc.qt.io/qt-5/qprocess.html#ProcessError-enum

                                    AlvaroSA 1 Reply Last reply
                                    1
                                    • mrjjM mrjj

                                      @AlvaroS

                                      well you can use
                                      qDebug() "qproc: " << myProcess->error();

                                      and check the code in
                                      http://doc.qt.io/qt-5/qprocess.html#ProcessError-enum

                                      AlvaroSA Offline
                                      AlvaroSA Offline
                                      AlvaroS
                                      wrote on last edited by
                                      #25

                                      @mrjj Yes thanks!! See my last post. Thanks again. It gives me Unknow error...

                                      mrjjM 1 Reply Last reply
                                      0
                                      • AlvaroSA AlvaroS

                                        @mrjj Yes thanks!! See my last post. Thanks again. It gives me Unknow error...

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

                                        @AlvaroS

                                        " This is the default return value of error()."

                                        You do call it AFTER u call
                                        myProcess->start(program,arguments); ?

                                        AlvaroSA 1 Reply Last reply
                                        1
                                        • mrjjM mrjj

                                          @AlvaroS

                                          " This is the default return value of error()."

                                          You do call it AFTER u call
                                          myProcess->start(program,arguments); ?

                                          AlvaroSA Offline
                                          AlvaroSA Offline
                                          AlvaroS
                                          wrote on last edited by
                                          #27

                                          @mrjj Yes:

                                              myProcess->start(program, arguments);
                                          
                                              QProcess::ProcessError error = myProcess->error();
                                          
                                          mrjjM 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