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. How to build Qt Share Lib With static runtime on windows?
Forum Updated to NodeBB v4.3 + New Features

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

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
14 Posts 3 Posters 2.3k 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 JohnDaYe
    #1

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

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

      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).

      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
      1
      • 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 Extensions
                              • Unsolved