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. Qt5Network.dll fatal error LNK1169: one or more multiply defined symbols found in game programming
Forum Updated to NodeBB v4.3 + New Features

Qt5Network.dll fatal error LNK1169: one or more multiply defined symbols found in game programming

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
11 Posts 3 Posters 2.5k 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.
  • L Offline
    L Offline
    liuxin
    wrote on last edited by
    #1

    build qt 5.9.4 source code on win7 VS2013 64bit and I got the error.

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

      Hi,

      You have to give more details about where it's happening.

      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
      • L Offline
        L Offline
        liuxin
        wrote on last edited by
        #3

        The error is :
        link /NOLOGO /DYNAMICBASE /NXCOMPAT /BASE:0x64000000 /INCREMENTAL:NO /DLL /SUBSYSTEM:WINDOWS /VERSION:5.9 /MANIFEST:embed /OUT:....\lib\Qt5Network.dll @C:\Users\LK-JL\AppData\Local\Temp\nm2858.tmp
        5>qhttp2protocolhandler.obj : error LNK2005: "private: static unsigned int const QHttp2ProtocolHandler::maxAcceptableTableSize" (?maxAcceptableTableSize@QHttp2ProtocolHandler@@0IB) 已经在 qhttpnetworkconnectionchannel.obj 中定义
        5>qhttp2protocolhandler.obj : error LNK2005: "private: static int const QHttp2ProtocolHandler::sessionMaxRecvWindowSize" (?sessionMaxRecvWindowSize@QHttp2ProtocolHandler@@0HB) 已经在 qhttpnetworkconnectionchannel.obj 中定义
        5>qhttp2protocolhandler.obj : error LNK2005: "private: static int const QHttp2ProtocolHandler::streamInitialRecvWindowSize" (?streamInitialRecvWindowSize@QHttp2ProtocolHandler@@0HB) 已经在 qhttpnetworkconnectionchannel.obj 中定义
        5> building library ....\lib\Qt5Network.lib 和对象 ....\lib\Qt5Network.exp
        5>....\lib\Qt5Network.dll : fatal error LNK1169: one or more multiply defined symbols found in programming

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

          How are you building Qt ?

          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
          • L Offline
            L Offline
            liuxin
            wrote on last edited by
            #5

            My custom make file is :

            Download and build Qt5

            include(cmake/Externals.cmake)

            List of modules can be found in git repo here: github.com/qt/qt5

            set(MODULES_TO_EXCLUDE
            -skip qt3d
            -skip qtactiveqt
            -skip qtandroidextras
            -skip qtcanvas3d
            -skip qtcharts
            -skip qtconnectivity
            -skip qtdatavis3d
            -skip qtdeclarative
            -skip qtdoc
            -skip qtdocgallery
            -skip qtenginio
            -skip qtfeedback
            -skip qtgamepad
            -skip qtgraphicaleffects
            -skip qtimageformats
            -skip qtlocation
            -skip qtmacextras
            -skip qtnetworkauth
            -skip qtpim
            -skip qtpurchasing
            -skip qtqa
            -skip qtquick1
            -skip qtquickcontrols
            -skip qtquickcontrols2
            -skip qtremoteobjects
            -skip qtrepotools
            -skip qtscript
            -skip qtscxml
            -skip qtsensors
            -skip qtserialbus
            -skip qtserialport
            -skip qtspeech
            -skip qtsvg
            -skip qtsystems
            -skip qttools
            -skip qttranslations
            -skip qtvirtualkeyboard
            -skip qtwayland
            -skip qtwebchannel
            -skip qtwebengine
            -skip qtwebsockets
            -skip qtwebview
            -skip qtwinextras
            -skip qtx11extras
            -skip qtxmlpatterns
            )

            if(WIN32)
            #set(BUILD_COMMAND set CL=/MP; nmake)
            set(BUILD_COMMAND nmake)
            set(CONFIGURE_COMMAND ${FAST_EXTERNAL_BUILD_DIR}/qt5/src/qt5/configure.bat)
            set(URL "http://download.qt.io/archive/qt/5.10/5.10.1/single/qt-everywhere-src-5.10.1.zip")
            set(URL_HASH SHA256=b6cdb6ecc70f4194cd55d6aff2d3e4c964b9abf9a204e12410dd22261ff7ff3b)
            set(OPTIONS
            -opensource;
            -confirm-license;
            -release;
            -no-compile-examples;
            -no-openssl;
            -no-libproxy;
            -no-qml-debug;
            -nomake tools;
            -nomake tests;
            -opengl desktop;
            -qt-zlib;
            -qt-libpng;
            -qt-libjpeg;
            -qt-freetype;
            ${MODULES_TO_EXCLUDE}
            )
            else()
            set(BUILD_COMMAND make -j4)
            set(CONFIGURE_COMMAND ${FAST_EXTERNAL_BUILD_DIR}/qt5/src/qt5/configure)
            set(URL "http://download.qt.io/archive/qt/5.9/5.9.4/single/qt-everywhere-opensource-src-5.9.4.tar.xz")
            set(URL_HASH SHA256=e3acd9cbeafba3aed9f14592f4d70bf0b255e0203943e8d2b4235002268274d5)
            if(APPLE)
            set(OPTIONS
            -opensource;
            -confirm-license;
            -release;
            -no-compile-examples;
            -no-openssl;
            -no-libproxy;
            -no-qml-debug;
            -nomake tools;
            -nomake tests;
            -opengl desktop;
            -qt-zlib;
            -qt-libpng;
            -qt-libjpeg;
            -no-directfb;
            -no-framework;
            ${MODULES_TO_EXCLUDE}
            )
            else()
            set(OPTIONS
            -opensource;
            -confirm-license;
            -release;
            -no-compile-examples;
            -no-openssl;
            -no-libproxy;
            -no-qml-debug;
            -nomake tools;
            -nomake tests;
            -opengl desktop;
            -qt-zlib;
            -qt-libpng;
            -qt-libjpeg;
            -system-freetype;
            -qt-xcb;
            -qt-xkbcommon;
            -no-directfb;
            -no-linuxfb;
            -fontconfig;
            ${MODULES_TO_EXCLUDE}
            )
            endif()
            endif()

            ExternalProject_Add(qt5
            PREFIX ${FAST_EXTERNAL_BUILD_DIR}/qt5
            BINARY_DIR ${FAST_EXTERNAL_BUILD_DIR}/qt5
            URL ${URL}
            URL_HASH ${URL_HASH}
            CONFIGURE_COMMAND
            ${CONFIGURE_COMMAND}
            -prefix ${FAST_EXTERNAL_INSTALL_DIR};
            ${OPTIONS}
            BUILD_COMMAND
            ${BUILD_COMMAND}
            INSTALL_COMMAND
            ${BUILD_COMMAND} install

            )
            if(WIN32)
            set(Qt5Gui_LIBRARY Qt5Gui.lib)
            set(Qt5Core_LIBRARY Qt5Core.lib)
            set(Qt5Widgets_LIBRARY Qt5Widgets.lib)
            set(Qt5OpenGL_LIBRARY Qt5OpenGL.lib)
            set(Qt5Multimedia_LIBRARY Qt5Multimedia.lib)
            set(Qt5MultimediaWidgets_LIBRARY Qt5MultimediaWidgets.lib)
            else()
            set(Qt5Gui_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Gui${CMAKE_SHARED_LIBRARY_SUFFIX})
            set(Qt5Core_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Core${CMAKE_SHARED_LIBRARY_SUFFIX})
            set(Qt5Widgets_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Widgets${CMAKE_SHARED_LIBRARY_SUFFIX})
            set(Qt5OpenGL_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5OpenGL${CMAKE_SHARED_LIBRARY_SUFFIX})
            set(Qt5Multimedia_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Multimedia${CMAKE_SHARED_LIBRARY_SUFFIX})
            set(Qt5MultimediaWidgets_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5MultimediaWidgets${CMAKE_SHARED_LIBRARY_SUFFIX})
            endif()
            list(APPEND FAST_EXTERNAL_DEPENDENCIES qt5)

            CMake GUI configure and Generate with VS2013 64bit:
            0_1527469140296_73e709d9-65e1-47e7-8bf5-7adee88d0650-image.png
            CMake Deprecation Warning at CMakeLists.txt:49 (cmake_policy):
            The OLD behavior for policy CMP0043 will be removed from a future version
            of CMake.

            The cmake-policies(7) manual explains that the OLD behaviors of all
            policies are deprecated and that a policy should be set to OLD only under
            specific short-term circumstances. Projects should be ported to the NEW
            behavior and not rely on setting a policy to OLD.

            Found OpenMP_C: -openmp (found version "2.0")
            Found OpenMP_CXX: -openmp (found version "2.0")
            Found OpenMP: TRUE (found version "2.0")
            -- OpenMP was detected. Using OpenMP to speed up some calculations.
            Looking for CL_VERSION_2_0
            Looking for CL_VERSION_2_0 - not found
            Looking for CL_VERSION_1_2
            Looking for CL_VERSION_1_2 - found
            Found OpenCL: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/OpenCL.lib (found version "1.2")
            -- OpenCL library: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/OpenCL.lib
            Found OpenGL: opengl32
            Performing Test COMPILER_HAS_DEPRECATED_ATTR
            Performing Test COMPILER_HAS_DEPRECATED_ATTR - Failed
            Performing Test COMPILER_HAS_DEPRECATED
            Performing Test COMPILER_HAS_DEPRECATED - Success
            -- LIBS: Qt5Core.lib;Qt5Gui.lib;Qt5Widgets.lib;Qt5OpenGL.lib;Qt5Multimedia.lib;Qt5MultimediaWidgets.lib;debug;zlibd.lib;optimized;zlib.lib;ofstd.lib;oflog.lib;dcmdata.lib;dcmimgle.lib;OpenIGTLink.lib C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/lib/x64/OpenCL.lib;opengl32;glu32
            -- Python module not enabled in CMake, Python bindings will NOT be created.
            Configuring done
            Generating done

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

              Just to be sure: you are building a custom Qt as part of your project build process ?

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

              L 1 Reply Last reply
              0
              • C Offline
                C Offline
                chivstyle
                wrote on last edited by
                #7

                Move the static vars to qhttp2protocolhandler.cpp, it will work. Remove the assignment in qhttp2protocolhandler_p.h。
                //const qint32 QHttp2ProtocolHandler::sessionMaxRecvWindowSize;
                //const qint32 QHttp2ProtocolHandler::streamInitialRecvWindowSize;
                //const quint32 QHttp2ProtocolHandler::maxAcceptableTableSize;
                const quint32 QHttp2ProtocolHandler::maxAcceptableTableSize = 16 * HPack::FieldLookupTable::DefaultSize;
                const qint32 QHttp2ProtocolHandler::sessionMaxRecvWindowSize = Http2::defaultSessionWindowSize * 10;
                const qint32 QHttp2ProtocolHandler::streamInitialRecvWindowSize = Http2::defaultSessionWindowSize;

                1 Reply Last reply
                2
                • SGaistS SGaist

                  Just to be sure: you are building a custom Qt as part of your project build process ?

                  L Offline
                  L Offline
                  liuxin
                  wrote on last edited by
                  #8

                  @SGaist Yes.

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

                    Isn't that a bit overkill ?

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

                    L 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      Isn't that a bit overkill ?

                      L Offline
                      L Offline
                      liuxin
                      wrote on last edited by
                      #10

                      @SGaist said in Qt5Network.dll fatal error LNK1169: one or more multiply defined symbols found in game programming:

                      a bit overkill

                      sorry,what do you mean ?

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

                        It's pretty unusual to have the building of a framework as big as Qt as part of the build process of an application,

                        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