Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt
  • Unsolved
Collapse
qtws26_logo

The Qt Event of the Year: Qt World Summit 2026

Save Your Spot >
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. How to build Qt Share Lib With static runtime on windows?
Qt 6.12 LTS is out! See what's new in the release blog

How to build Qt Share Lib With static runtime on windows?

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
14 Posts 3 Posters 2.9k Views 1 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.
  • J Offline
    J Offline
    JohnDaYe
    wrote on last edited by
    #3

    VS 2013 complie QT 5.9.5 src error
    qeglplatformcontext.cpp(975) error C2466 array size can not be zero

    1 Reply Last reply
    0
    • SGaistS SGaist

      Hi,

      You have to modify the mkspec used for your project.

      However, you first have to rebuild all the libraries you are using to also link to the static run time (which means Qt as well).

      You can't mix both style (nothing to do with Qt).

      J Offline
      J Offline
      JohnDaYe
      wrote on last edited by JohnDaYe
      #4

      @SGaist
      VS 2013 complie QT 5.9.5 src error
      qeglplatformcontext.cpp(975) error C2466 array size can not be zero

      configure -prefix e:\Qt5.9.5 -opengl desktop -IE:\ICU\include -IE:\OpenSSL\include -LE:\OpenSSL\lib -LE:\ICU\lib -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -qt-sqlite -ssl -openssl-linked -opensource -confirm-license -nomake examples -nomake tests

      ICU and OPENSSL IS CONFIGURE OK

      qtbase\mkspecs\common\msvc-desktop.conf

      #
      # This file is used as a basis for the following compilers:
      #
      # - Microsoft C/C++ Optimizing Compiler (all desktop versions)
      # - Intel C++ Compiler on Windows
      # - Clang-cl
      #
      # Baseline:
      #
      # - Visual Studio 2005 (8.0), VC++ 14.0
      #
      # Version-specific settings go in msvc-version.conf (loaded by default_pre)
      #
      
      MAKEFILE_GENERATOR      = MSVC.NET
      QMAKE_PLATFORM          = win32
      QMAKE_COMPILER          = msvc
      CONFIG                 += flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe
      DEFINES                += UNICODE _UNICODE WIN32
      QMAKE_COMPILER_DEFINES += _WIN32
      contains(QMAKE_TARGET.arch, x86_64) {
          DEFINES += WIN64
          QMAKE_COMPILER_DEFINES += _WIN64
      }
      
      QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Od
      QMAKE_CFLAGS_OPTIMIZE      = -O2
      QMAKE_CFLAGS_OPTIMIZE_SIZE = -O1
      
      QMAKE_CC                = cl
      QMAKE_LEX               = flex
      QMAKE_LEXFLAGS          =
      QMAKE_YACC              = bison -y
      QMAKE_YACCFLAGS         = -d
      QMAKE_CFLAGS            = -nologo -Zc:wchar_t
      QMAKE_CFLAGS_WARN_ON    = -W3
      QMAKE_CFLAGS_WARN_OFF   = -W0
      QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MT
      QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
      QMAKE_CFLAGS_DEBUG      = -Zi -MTd
      QMAKE_CFLAGS_YACC       =
      QMAKE_CFLAGS_LTCG       = -GL
      
      contains(QMAKE_TARGET.arch, x86_64) {
          # SSE2 is mandatory on 64-bit mode, so skip the option. It triggers:
          # cl : Command line warning D9002 : ignoring unknown option '-arch:SSE2'
          QMAKE_CFLAGS_SSE2   =
      } else {
          QMAKE_CFLAGS_SSE2   = -arch:SSE2
      }
      QMAKE_CFLAGS_SSE3       = $$QMAKE_CFLAGS_SSE2
      QMAKE_CFLAGS_SSSE3      = $$QMAKE_CFLAGS_SSE2
      QMAKE_CFLAGS_SSE4_1     = $$QMAKE_CFLAGS_SSE2
      QMAKE_CFLAGS_SSE4_2     = $$QMAKE_CFLAGS_SSE2
      
      QMAKE_CXX               = $$QMAKE_CC
      QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
      QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189 -w44996
      QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
      QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
      QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
      QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
      QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
      QMAKE_CXXFLAGS_LTCG     = $$QMAKE_CFLAGS_LTCG
      QMAKE_CXXFLAGS_STL_ON   = -EHsc
      QMAKE_CXXFLAGS_STL_OFF  =
      QMAKE_CXXFLAGS_RTTI_ON  = -GR
      QMAKE_CXXFLAGS_RTTI_OFF =
      QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc
      QMAKE_CXXFLAGS_EXCEPTIONS_OFF =
      
      QMAKE_INCDIR            =
      
      QMAKE_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src
      QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $<
      QMAKE_RUN_CC_IMP_BATCH  = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<<
      QMAKE_RUN_CXX           = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src
      QMAKE_RUN_CXX_IMP       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $<
      QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<<
      
      QMAKE_LINK              = link
      QMAKE_LFLAGS            = /NOLOGO /DYNAMICBASE /NXCOMPAT icudt.lib icuin.lib icuio.lib icule.lib iculx.lib icutu.lib icuuc.lib
      QMAKE_LFLAGS_RELEASE    = /INCREMENTAL:NO icudt.lib icuin.lib icuio.lib icule.lib iculx.lib icutu.lib icuuc.lib
      QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /INCREMENTAL:NO
      QMAKE_LFLAGS_DEBUG      = /DEBUG
      QMAKE_LFLAGS_CONSOLE    = /SUBSYSTEM:CONSOLE
      QMAKE_LFLAGS_WINDOWS    = /SUBSYSTEM:WINDOWS
      QMAKE_LFLAGS_EXE        = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\"
      QMAKE_LFLAGS_DLL        = /DLL
      QMAKE_LFLAGS_LTCG       = /LTCG
      QMAKE_PREFIX_SHLIB      =
      QMAKE_EXTENSION_SHLIB   = dll
      QMAKE_PREFIX_STATICLIB  =
      QMAKE_EXTENSION_STATICLIB = lib
      
      QMAKE_LIBS              =
      QMAKE_LIBS_GUI          = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib uuid.lib user32.lib advapi32.lib
      QMAKE_LIBS_NETWORK      = ws2_32.lib
      QMAKE_LIBS_OPENGL       = glu32.lib opengl32.lib gdi32.lib user32.lib
      QMAKE_LIBS_OPENGL_ES2   = gdi32.lib user32.lib
      QMAKE_LIBS_OPENGL_ES2_DEBUG = gdi32.lib user32.lib
      QMAKE_LIBS_COMPAT       = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib
      QMAKE_LIBS_QT_ENTRY     = -lqtmain
      
      QMAKE_IDL               = midl /NOLOGO
      QMAKE_LIB               = lib /NOLOGO
      QMAKE_RC                = rc /NOLOGO
      
      VCPROJ_EXTENSION        = .vcproj
      VCSOLUTION_EXTENSION    = .sln
      VCPROJ_KEYWORD          = Qt4VSv1.0
      
      include(angle.conf)
      
      
      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #5

        Are you tied to VS2013 ?

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

        J 1 Reply Last reply
        0
        • SGaistS SGaist

          Are you tied to VS2013 ?

          J Offline
          J Offline
          JohnDaYe
          wrote on last edited by
          #6

          @SGaist
          YES
          I tried build with vs2013

          jsulmJ 1 Reply Last reply
          0
          • J JohnDaYe

            @SGaist
            YES
            I tried build with vs2013

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

            @JohnDaYe tied not tried :-)
            The question was: do you have to use this old VS2013? Or could you upgrade to a newer version?

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

            J 1 Reply Last reply
            1
            • jsulmJ jsulm

              @JohnDaYe tied not tried :-)
              The question was: do you have to use this old VS2013? Or could you upgrade to a newer version?

              J Offline
              J Offline
              JohnDaYe
              wrote on last edited by
              #8

              @jsulm i build vs2017 ok
              but we need vs2013 ver

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

                Just in case, can you try to build the latest version of the 5.9 series ? It's 5.9.7.

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

                J 2 Replies Last reply
                0
                • SGaistS SGaist

                  Just in case, can you try to build the latest version of the 5.9 series ? It's 5.9.7.

                  J Offline
                  J Offline
                  JohnDaYe
                  wrote on last edited by
                  #10

                  @SGaist I Will try it
                  thanks

                  1 Reply Last reply
                  0
                  • SGaistS SGaist

                    Just in case, can you try to build the latest version of the 5.9 series ? It's 5.9.7.

                    J Offline
                    J Offline
                    JohnDaYe
                    wrote on last edited by
                    #11

                    @SGaist
                    it is will occurs when i configure with "-opengl desktop"

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

                      Same file as before ?

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

                      J 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        Same file as before ?

                        J Offline
                        J Offline
                        JohnDaYe
                        wrote on last edited by
                        #13

                        @SGaist Yes

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

                          @JohnDaYe said in How to build Qt Share Lib With static runtime on windows?:

                          qeglplatformcontext.cpp

                          Any chance that you have neither QT_OPENGL_ES_XXX macro defined ?

                          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

                          • Login

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