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. Building from source using MSVC 2015 fails
QtWS25 Last Chance

Building from source using MSVC 2015 fails

Scheduled Pinned Locked Moved Solved General and Desktop
6 Posts 2 Posters 2.1k 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.
  • R Offline
    R Offline
    RogueWarrior
    wrote on last edited by RogueWarrior
    #1

    I'm trying to build Qt from source (qt-everywhere-opensource-5.5.1) on a Windows 10 machine with a freshly downloaded Visual Studio 2015. The first problem was the fact that "python" didn't exist but "py" did. I ended up having to add a path environment variable to get past this point. But now after building for several hours, I'm stuck with a whole slew of "is not a member of 'global namespace'" errors. I'm following the procedure listed here: http://doc.qt.io/qt-5/windows-building.html. I've set up the qt5vars.cmd file as follows:

    REM Set up \Microsoft Visual Studio 2013, where <arch> is \c amd64, \c x86, etc.
    CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
    SET _ROOT=C:\Qt\5.5.1\qt-everywhere-opensource-5.5.1
    SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
    REM Uncomment the below line when using a git checkout of the source repository
    REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
    SET QMAKESPEC=win32-msvc2013
    SET _ROOT=

    I've even tried SET QMAKESPEC=win32-msvc2015 but I wind up with the same errors.
    I've also tried the changes found in this reference: http://stackoverflow.com/questions/33126119/building-qt-nmake-fatal-error-u1077-cd-return-code-0x2/33126878
    But those are clearly for an older version and some of the changes don't correspond to the current version.

    So, why doesn't the published procedure work? What do I need to do to fix it?
    All I'm after is a statically linked version so I can deploy a program.

    1 Reply Last reply
    0
    • A Offline
      A Offline
      alex_malyu
      wrote on last edited by
      #2

      Even if setting correct makespec did not help it does not mean you should keep using wrong one.

      Your comment about static build means you are using commercial version.
      This means that you could find more help from qt company support than in here.

      I would highly recommend to upgrade Qt to 5.6 first since if you look at Qt 5.1 documentation
      you would find that it does not support MSVC2015 yet:
      http://qt.apidoc.info/5.1.1/qtdoc-online/platform-notes-windows.html

      1 Reply Last reply
      0
      • R Offline
        R Offline
        RogueWarrior
        wrote on last edited by RogueWarrior
        #3

        Nope. Commercial version is not required.
        From http://doc.qt.io/qt-5/windows-building.html:
        "Step 1: Install the License File (Commercial Editions Only)"
        "For the open source version you do not need a license file."

        Second, I'm trying to build 5.5.1 not 5.1. There is a MSVC 2015 mkspec in there.
        Third, static builds are supposed to be for any Windows deployment where you don't want to use shared libraries:
        http://doc.qt.io/qt-5/windows-deployment.html

        At this point, I've tried building using amd64 and x86_amd64 architectures. These both fail but in a different way. The error I get says "don't know how to make qtbase\lib\Qt5Widgetsd.lib"

        Before each attempt, I've done nmake distclean just to be sure. Still no joy.

        1 Reply Last reply
        0
        • A Offline
          A Offline
          alex_malyu
          wrote on last edited by alex_malyu
          #4

          @RogueWarrior said:

          "For the open source version you do not need a license file."

          Above means that you must comply with LGPL.
          And this means that you can't link to Qt statically or you break a license.

          1 Reply Last reply
          0
          • R Offline
            R Offline
            RogueWarrior
            wrote on last edited by
            #5

            Fine. I'll comply with the license. But that shouldn't prevent you from building the libraries. If it does, then they should say so in the docs. They don't.

            1 Reply Last reply
            0
            • R Offline
              R Offline
              RogueWarrior
              wrote on last edited by
              #6

              Okay, so it would appear that nmake distclean doesn't really clean up the source tree as expected.
              I ended up trashing the whole directory and started over.

              For the record, the above qt5vars with QMAKESPEC=win32-msvc2015 is what I used. I also put the sources into C:\qt551 because I read a google reference about long path names and changed the SET _ROOT to that.

              My configure command was:
              configure -release -opensource -static -static-runtime -opengl desktop -nomake examples -nomake tools -nomake tests

              I tested this all out on the basicdrawing example. IMHO, the docs need to be updated and should also mention the need for a proper path to python.

              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