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. LNK2019: unresolved external symbol issue happens when calling a function from third party static library
Forum Updated to NodeBB v4.3 + New Features

LNK2019: unresolved external symbol issue happens when calling a function from third party static library

Scheduled Pinned Locked Moved Solved General and Desktop
21 Posts 5 Posters 9.4k 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.
  • U Uddo_ud

    @jsulm

    First of all "libanimation-vc90-mt-s.lib" is the name of the library file and "lib" you have focused is not a prefix.

    Secondly, there is no "libanimation-vc90-mt-s.a" file in my libs folder. I tried to add as you said and ended up with "file not found" error.

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

    @Uddo_ud What is the whole file name of libanimation-vc90-mt-s.lib?
    When adding libs with -l the lib prefix must be removed.

    Static lib was just an example, on Windows it may be different (.lib maybe?).

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

    U 1 Reply Last reply
    0
    • U Uddo_ud

      @jsulm

      First of all "libanimation-vc90-mt-s.lib" is the name of the library file and "lib" you have focused is not a prefix.

      Secondly, there is no "libanimation-vc90-mt-s.a" file in my libs folder. I tried to add as you said and ended up with "file not found" error.

      aha_1980A Offline
      aha_1980A Offline
      aha_1980
      Lifetime Qt Champion
      wrote on last edited by
      #11

      @Uddo_ud said in LNK2019: unresolved external symbol issue happens when calling a function from third party static library:

      "vc90" looks like a very old version of MS C++ compiler. Is that still compatible with the current version?

      Qt has to stay free or it will die.

      U 2 Replies Last reply
      0
      • jsulmJ jsulm

        @Uddo_ud What is the whole file name of libanimation-vc90-mt-s.lib?
        When adding libs with -l the lib prefix must be removed.

        Static lib was just an example, on Windows it may be different (.lib maybe?).

        U Offline
        U Offline
        Uddo_ud
        wrote on last edited by
        #12

        @jsulm

        @Uddo_ud What is the whole file name of libanimation-vc90-mt-s.lib?

        0_1545289607812_ed45e61f-71e5-4c13-9c85-c1413aa46761-image.png

        Static lib was just an example, on Windows it may be different (.lib maybe?).

        Yes I tried adding .lib also. But Linker issue yet happens.

        1 Reply Last reply
        0
        • aha_1980A aha_1980

          @Uddo_ud said in LNK2019: unresolved external symbol issue happens when calling a function from third party static library:

          "vc90" looks like a very old version of MS C++ compiler. Is that still compatible with the current version?

          U Offline
          U Offline
          Uddo_ud
          wrote on last edited by
          #13

          @aha_1980

          Yes this might be the problem. Earlier I thought it was compatible and then I tried this with another working sample project. Now I need to check with the actual project. Thank you very much. I will check it and let you know the progress.

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

            Hi,

            Visual Studio compilers are not compatible one with the other except for VS2017 which is backward compatible with VS2015 There for you can't mix and match libraries.

            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
            3
            • aha_1980A aha_1980

              @Uddo_ud said in LNK2019: unresolved external symbol issue happens when calling a function from third party static library:

              "vc90" looks like a very old version of MS C++ compiler. Is that still compatible with the current version?

              U Offline
              U Offline
              Uddo_ud
              wrote on last edited by
              #15

              @aha_1980

              "vc90" looks like a very old version of MS C++ compiler. Is that still compatible with the current version?

              I built the libraries in VS2015 and included those to Qt project and compile using MSVC2017 32bit and MSVC2015 32bit both. Most of the linker issues were solved but some are remain still.

              aha_1980A 1 Reply Last reply
              0
              • U Uddo_ud

                @aha_1980

                "vc90" looks like a very old version of MS C++ compiler. Is that still compatible with the current version?

                I built the libraries in VS2015 and included those to Qt project and compile using MSVC2017 32bit and MSVC2015 32bit both. Most of the linker issues were solved but some are remain still.

                aha_1980A Offline
                aha_1980A Offline
                aha_1980
                Lifetime Qt Champion
                wrote on last edited by
                #16

                @Uddo_ud

                Most of the linker issues were solved but some are remain still.

                are they related to this library or something else?

                Qt has to stay free or it will die.

                U 1 Reply Last reply
                0
                • aha_1980A aha_1980

                  @Uddo_ud

                  Most of the linker issues were solved but some are remain still.

                  are they related to this library or something else?

                  U Offline
                  U Offline
                  Uddo_ud
                  wrote on last edited by
                  #17

                  @aha_1980

                  To refer I previously sent only one library (libanimation-vc90-mt-s.lib). There are 5 libraries. The problem with the libanimation-vc90-mt-s.lib is solved now. Now the problem is with the libloader-vc90-mt-s.lib. All the included libraries are now build in VS2015.

                  U 1 Reply Last reply
                  0
                  • U Uddo_ud

                    @aha_1980

                    To refer I previously sent only one library (libanimation-vc90-mt-s.lib). There are 5 libraries. The problem with the libanimation-vc90-mt-s.lib is solved now. Now the problem is with the libloader-vc90-mt-s.lib. All the included libraries are now build in VS2015.

                    U Offline
                    U Offline
                    Uddo_ud
                    wrote on last edited by
                    #18

                    Additionally,

                    This is an existing VS project I'm trying to do using QT. I built the VS solution in VS2015 and VS2017. Both work fine with the vc90 libraries. Issues occur when comes to QT.

                    Is that a problem with QT creator?

                    aha_1980A 1 Reply Last reply
                    0
                    • U Uddo_ud

                      Additionally,

                      This is an existing VS project I'm trying to do using QT. I built the VS solution in VS2015 and VS2017. Both work fine with the vc90 libraries. Issues occur when comes to QT.

                      Is that a problem with QT creator?

                      aha_1980A Offline
                      aha_1980A Offline
                      aha_1980
                      Lifetime Qt Champion
                      wrote on last edited by aha_1980
                      #19

                      @Uddo_ud

                      Is that a problem with QT creator?

                      Well, Creator calls qmake to create the Makefiles and afterwards nmake/jom to build the project. The compiler and linker are exactly the same as in VS itself.

                      The only thing I can imagine is that some environment paths are not correctly so the linker pulls in something different.

                      What's a bit of a problem is, the linker command line does not contain the objects list, they are rather in a temporary file. Debugging this is painful...

                      Edit: Can you please give a concrete example of this linker error? Is it for pure C or C++ symbols?

                      Qt has to stay free or it will die.

                      U 1 Reply Last reply
                      0
                      • aha_1980A aha_1980

                        @Uddo_ud

                        Is that a problem with QT creator?

                        Well, Creator calls qmake to create the Makefiles and afterwards nmake/jom to build the project. The compiler and linker are exactly the same as in VS itself.

                        The only thing I can imagine is that some environment paths are not correctly so the linker pulls in something different.

                        What's a bit of a problem is, the linker command line does not contain the objects list, they are rather in a temporary file. Debugging this is painful...

                        Edit: Can you please give a concrete example of this linker error? Is it for pure C or C++ symbols?

                        U Offline
                        U Offline
                        Uddo_ud
                        wrote on last edited by Uddo_ud
                        #20

                        @aha_1980

                        Here is the error log

                        0_1545390111043_Screenshot (19).png

                        Is it for pure C or C++ symbols?

                        I didn't get this.

                        The only thing I can imagine is that some environment paths are not correctly so the linker pulls in something different.

                        Is this means the build environment settings in the QT project? I will check it.

                        In the project we have included <windows.h>. Path to the windows SDK in the QT build environment might be the problem?

                        U 1 Reply Last reply
                        0
                        • U Uddo_ud

                          @aha_1980

                          Here is the error log

                          0_1545390111043_Screenshot (19).png

                          Is it for pure C or C++ symbols?

                          I didn't get this.

                          The only thing I can imagine is that some environment paths are not correctly so the linker pulls in something different.

                          Is this means the build environment settings in the QT project? I will check it.

                          In the project we have included <windows.h>. Path to the windows SDK in the QT build environment might be the problem?

                          U Offline
                          U Offline
                          Uddo_ud
                          wrote on last edited by
                          #21

                          Solution for this issue has been found in the below forum. Thanks all for the support.

                          https://forum.qt.io/topic/97995/can-qt-access-windows-sdk-functions-in-a-third-party-static-libraries/3

                          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