Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. [solved] compiler not "seeing" file in new path

[solved] compiler not "seeing" file in new path

Scheduled Pinned Locked Moved Installation and Deployment
14 Posts 5 Posters 5.2k Views
  • 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.
  • mzimmersM Offline
    mzimmersM Offline
    mzimmers
    wrote on last edited by
    #1

    Hi, all -

    I need to do some work with 64-bit integers in a Qt application. I tried including the cstdint file, but according to the editor, it can't find it. In terminal, I added a path to the file in my PATH variable, quit and re-started Creator, with the same results.

    I also noticed that the Creator text editor suggests a data type int64_t when I type in "int." Is there some built-in 64-bit support that I don't know about? Am I barking up the wrong tree with the cstdint file?

    Any suggestions on how best to handle this are appreciated.

    1 Reply Last reply
    0
    • JohanSoloJ Offline
      JohanSoloJ Offline
      JohanSolo
      wrote on last edited by
      #2

      I think you can simply use the long (unsigned) int, which should in principle use 8 bytes (i.e. 64 bits). If your compiler does the job correctly you don't even need to add fancy #include, this is regular C++.

      At least this works with gcc 4.3.2 on 64bits SLC5.

      Edit : if you're using a 32 bits OS I'm afraid this won't work.

      `They did not know it was impossible, so they did it.'
      -- Mark Twain

      1 Reply Last reply
      0
      • T Offline
        T Offline
        tobias.hunger
        wrote on last edited by
        #3

        ... and there are qint8/16/32/64 as well as quint8/16/32/64 defined, too.

        1 Reply Last reply
        0
        • mzimmersM Offline
          mzimmersM Offline
          mzimmers
          wrote on last edited by
          #4

          The long signed int shows as 4 bytes. I can't use unsigned, or if I did, it would be more trouble than it's worth.

          1 Reply Last reply
          0
          • JohanSoloJ Offline
            JohanSoloJ Offline
            JohanSolo
            wrote on last edited by
            #5

            Just for curiosity, what OS and compiler are you using?

            `They did not know it was impossible, so they did it.'
            -- Mark Twain

            1 Reply Last reply
            0
            • mzimmersM Offline
              mzimmersM Offline
              mzimmers
              wrote on last edited by
              #6

              Running Mac OS and GNU compiler (relatively recent version).

              I do need something that will port over to Windows, so I want the least-involved solution possible.

              1 Reply Last reply
              0
              • mzimmersM Offline
                mzimmersM Offline
                mzimmers
                wrote on last edited by
                #7

                Tobias: that's a good point, and I may go that route.

                Of course, the presenting issue of why Creator isn't following the path in my shell $PATH variable is still a mystery...

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  koahnig
                  wrote on last edited by
                  #8

                  The definition for 64 bit int is "long long" or "long long int" on 32 bit OS.

                  @#ifdef UNIX32
                  /**

                  • \typedef long long Int64
                  • \brief Defines an alias representing int 64.
                    /
                    typedef long long Int64;
                    /
                    *
                  • \typedef unsigned long long Uint64
                  • \brief Defines an alias representing uint 64.
                    /
                    typedef unsigned long long Uint64;
                    #endif
                    #if defined(UNIX64)
                    /
                    *
                  • \typedef long Int64
                  • \brief Defines an alias representing int 64.
                    /
                    typedef long Int64;
                    /
                    *
                  • \typedef unsigned long Uint64
                  • \brief Defines an alias representing uint 64.
                    /
                    typedef unsigned long Uint64;
                    #endif
                    #ifdef WIN32
                    /
                    *
                  • \typedef long long Int64
                  • \brief Defines an alias representing int 64.
                    /
                    typedef long long Int64;
                    /
                    *
                  • \typedef unsigned long long Uint64
                  • \brief Defines an alias representing uint 64.
                    */
                    typedef unsigned long long Uint64;
                    #endif
                    @

                  I guess on a Mac it should work similar, but I do not have the experience.

                  Vote the answer(s) that helped you to solve your issue(s)

                  1 Reply Last reply
                  0
                  • G Offline
                    G Offline
                    goetz
                    wrote on last edited by
                    #9

                    mzimmer, regarding your include problem, try:

                    @
                    #include <tr1/cstdint>
                    @

                    This works for me (on a Mac). cstdint is used in conjunction with boost/C++ TR1 standard, and is not in the standard include path, but in a tr1 subdirectory.

                    If you want to be portable, I would go with the Qt defined qintXXX types.

                    http://www.catb.org/~esr/faqs/smart-questions.html

                    1 Reply Last reply
                    0
                    • mzimmersM Offline
                      mzimmersM Offline
                      mzimmers
                      wrote on last edited by
                      #10

                      Thanks, Volker.

                      Am I wrong in believing that Creator picks up the environment variables from my shell?

                      1 Reply Last reply
                      0
                      • G Offline
                        G Offline
                        goetz
                        wrote on last edited by
                        #11

                        If you just change the PATH variable in the shell (terminal), then you must start creator via open:

                        @
                        open /Applications/Qt\ Creator.app
                        @

                        If you start it via the Finder or with Spotlight search, it will not see this change.

                        http://www.catb.org/~esr/faqs/smart-questions.html

                        1 Reply Last reply
                        0
                        • mzimmersM Offline
                          mzimmersM Offline
                          mzimmers
                          wrote on last edited by
                          #12

                          Oh.

                          Oops.

                          Does Creator maintain its own PATH variable?

                          BTW: the tr1/ worked...thanks.

                          1 Reply Last reply
                          0
                          • G Offline
                            G Offline
                            goetz
                            wrote on last edited by
                            #13

                            No, that's a matter of OS X/Finder/launchd and works this way for every application which is started this way.

                            If you change the PATH in a terminal, it is only valid in this very terminal/shell and the processes started from that shell. It's even not visible in other terminal windows or even tabs.

                            But you can always add your own extensions to the environment in Creator in the build and run settings.

                            http://www.catb.org/~esr/faqs/smart-questions.html

                            1 Reply Last reply
                            0
                            • mzimmersM Offline
                              mzimmersM Offline
                              mzimmers
                              wrote on last edited by
                              #14

                              OK, thanks, Volker.

                              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