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. Implement something like tar archive in windows environment
Forum Updated to NodeBB v4.3 + New Features

Implement something like tar archive in windows environment

Scheduled Pinned Locked Moved General and Desktop
47 Posts 8 Posters 13.8k Views 4 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.
  • jsulmJ jsulm

    @Zgembo said in Implement something like tar archive in windows environment:

    Should I copy all these dlls to c:\windows\system32

    Please not! :-)
    Just put them in same directory where you have your executable.

    ZgemboZ Offline
    ZgemboZ Offline
    Zgembo
    wrote on last edited by
    #33

    @jsulm OK, thank you. What about my include files? Now I have my KArchive folder that have "include" and "libs" subfolders in my C:\Downloads folder. I have included this two folders with their absolute path into my project (visual studio project).
    Is there a better way to do this, because this is a large project that have a lot of developers.

    VRoninV 1 Reply Last reply
    0
    • ZgemboZ Zgembo

      @jsulm OK, thank you. What about my include files? Now I have my KArchive folder that have "include" and "libs" subfolders in my C:\Downloads folder. I have included this two folders with their absolute path into my project (visual studio project).
      Is there a better way to do this, because this is a large project that have a lot of developers.

      VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #34

      @Zgembo said in Implement something like tar archive in windows environment:

      because this is a large project that have a lot of developers.

      Every project will have its own convention. just ask how you guys handle 3rd party libraries locations

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0
      • ZgemboZ Offline
        ZgemboZ Offline
        Zgembo
        wrote on last edited by
        #35

        OK, thank you. My test program now works in debug mode. I am having problems compiling program in RELEASE mode. For some reason it can not see qplatformdefs.h . I have double checked that path to that file is included as @VRonin stated in some of the previous posts.

        1 Reply Last reply
        0
        • VRoninV Offline
          VRoninV Offline
          VRonin
          wrote on last edited by
          #36

          Visual studio uses different "Additional library directories" and "Additional include directories" for different platforms (x86 and x64) and configurations (Debug/Release) so every time you have to set the same thing multiple times for each of them using the comboboxes in the top part of the properties widow of the project

          "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
          ~Napoleon Bonaparte

          On a crusade to banish setIndexWidget() from the holy land of Qt

          1 Reply Last reply
          1
          • ZgemboZ Offline
            ZgemboZ Offline
            Zgembo
            wrote on last edited by
            #37

            Figured it out. Everything works now. Thank you.

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

              IIRC, qmake can generate Visual Studio Solutions that should handle that for you. Worth a try at least.

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

              1 Reply Last reply
              1
              • ZgemboZ Offline
                ZgemboZ Offline
                Zgembo
                wrote on last edited by
                #39

                I have moved everything to my main project and it works. Now I can tar and untar files form my main project.

                Right now I am trying to figure out best way to indicate to a user that archiving or unarchiving process is in progress. I was thinking of using qprogressbar but I do not see a way to send any signal from KArchive function to qprogressbar.
                Lets say that I have for example three large files to unarchive (few gigabytes). What would be the best way to somehow indicate to a user what is going on?

                mrjjM 1 Reply Last reply
                0
                • ZgemboZ Zgembo

                  I have moved everything to my main project and it works. Now I can tar and untar files form my main project.

                  Right now I am trying to figure out best way to indicate to a user that archiving or unarchiving process is in progress. I was thinking of using qprogressbar but I do not see a way to send any signal from KArchive function to qprogressbar.
                  Lets say that I have for example three large files to unarchive (few gigabytes). What would be the best way to somehow indicate to a user what is going on?

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

                  @Zgembo
                  In cases where you cannot know the length of the process/get status,
                  you can use a QLabel with a animated gif.
                  like
                  alt text

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

                    You can use a QProgressBar with both min and max set to 0. This will give you an "infinite" animated bar.

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

                    ZgemboZ 1 Reply Last reply
                    1
                    • SGaistS SGaist

                      You can use a QProgressBar with both min and max set to 0. This will give you an "infinite" animated bar.

                      ZgemboZ Offline
                      ZgemboZ Offline
                      Zgembo
                      wrote on last edited by
                      #42

                      @SGaist I have tried your suggestion using "infinite" progress bar, but my tar and untar functions take a lot of processing power and animation is not working.

                      What would be the best way to move for example my two function to another thread? I have two function tarArchive(QString, QString) and unTarArchive(QString, QString).

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

                        If you'd like to avoid your GUI freezing, then yes. However, you should take a look at QtConcurrent::run before diving into QThread.

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

                        1 Reply Last reply
                        0
                        • ZgemboZ Offline
                          ZgemboZ Offline
                          Zgembo
                          wrote on last edited by
                          #44

                          I have tried QtConcurrent::run but I have to wait before the process (tar and untar) that I have moved to another thread finishes. So I have to use waitForFinished() and my GUI still freezes. Any suggestions?

                          mrjjM 1 Reply Last reply
                          0
                          • ZgemboZ Zgembo

                            I have tried QtConcurrent::run but I have to wait before the process (tar and untar) that I have moved to another thread finishes. So I have to use waitForFinished() and my GUI still freezes. Any suggestions?

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

                            @Zgembo
                            Hi
                            Maybe you can use
                            http://doc.qt.io/qt-5/qfuturewatcher.html#details
                            to avoid the waitForFinished ?

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

                              @Zgembo How did you implement that ?

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

                              ZgemboZ 1 Reply Last reply
                              1
                              • SGaistS SGaist

                                @Zgembo How did you implement that ?

                                ZgemboZ Offline
                                ZgemboZ Offline
                                Zgembo
                                wrote on last edited by
                                #47

                                @SGaist I figured out that first I have to change my program logic to implement QtConcurrent::run. Anyway thank you and @VRonin for all the help you provided in this thread. I will close it as solved.

                                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