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. OSG integration with QT...Trouble linking libraries.

OSG integration with QT...Trouble linking libraries.

Scheduled Pinned Locked Moved Unsolved General and Desktop
33 Posts 3 Posters 13.0k 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.
  • M Offline
    M Offline
    mBiz
    wrote on last edited by
    #1

    I have had trouble linking OSG to QT. I am trying to use .pro file over CMakelists.
    I have tried the -L<path> -l<library> to import all the OSG libraries.
    At first i receive multiple LNK2001 errors , which were resolved by building OSG in QT.
    This resolved most of the LNK2001 erros.
    Now I still receive plenty of LNK2019 errors similar to below. I understand it is a linking problem but I can wrap my head around what I am missing. I have made sure Im using the correct release/debug libraries.

    myFiles.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport) public: static class osg::Matrixd __cdecl osg::Matrixd::rotate(double,class osg::Vec3f const &,double,class osg::Vec3f const &,double,class osg::Vec3f const &)" (_imp?rotate@Matrixd@osg@@SA?AV12@NAEBVVec3f@2@N0N0@Z) referenced in function "public: virtual void __cdecl myFiles::saveAs(void)" (?saveAs@myFiles@@UEAAXXZ)

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

      Hi and welcome to devnet,

      Then are you sure that you are linking to all the required libraries from OSG ?

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

      M 1 Reply Last reply
      1
      • SGaistS SGaist

        Hi and welcome to devnet,

        Then are you sure that you are linking to all the required libraries from OSG ?

        M Offline
        M Offline
        mBiz
        wrote on last edited by
        #3

        @SGaist yes.
        Yes. I link ALL of the libraries. I left out the wrappers and plugins but those dont seem related.

        LIBS += -Lpath/to/osg-3.5.1-qtcreator/lib -lot20-OpenThreads
        -losg141-osgAnimation
        -losg141-osgDB
        -losg141-osgFX
        -losg141-osgGA
        -losg141-osgManipulator
        -losg141-osgParticle
        -losg141-osgPresentation
        -losg141-osgQt
        -losg141-osgShadow
        -losg141-osgSim
        -losg141-osgTerrain
        -losg141-osgText
        -losg141-osgUI
        -losg141-osgUtil
        -losg141-osgViewer
        -losg141-osgVolume
        -losg141-osg

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

          Ok, then check the corresponding header file to see if that symbol is properly exported.

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

          M 1 Reply Last reply
          0
          • SGaistS SGaist

            Ok, then check the corresponding header file to see if that symbol is properly exported.

            M Offline
            M Offline
            mBiz
            wrote on last edited by
            #5

            @SGaist Can you explain what you mean more?
            I checked all the include headers and for example Matrixd is present in the include folder and should be part of the osg141-osg.lib

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

              With Visual Studio, if you have a shared library and you want to be able to use a class/method from another application/library, you have to export it properly.

              You can see more details about that here.

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

              M 1 Reply Last reply
              0
              • SGaistS SGaist

                With Visual Studio, if you have a shared library and you want to be able to use a class/method from another application/library, you have to export it properly.

                You can see more details about that here.

                M Offline
                M Offline
                mBiz
                wrote on last edited by
                #7

                @SGaist it was to my understanding I was building OSG as a static lib.
                I am able to build and execute the application using CMakelists, but I'm trying to convert it to a .pro file for experimental reason.

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

                  Ok, then are you linking them in the correct order ?

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

                  M 2 Replies Last reply
                  0
                  • SGaistS SGaist

                    Ok, then are you linking them in the correct order ?

                    M Offline
                    M Offline
                    mBiz
                    wrote on last edited by
                    #9
                    This post is deleted!
                    1 Reply Last reply
                    0
                    • SGaistS SGaist

                      Ok, then are you linking them in the correct order ?

                      M Offline
                      M Offline
                      mBiz
                      wrote on last edited by
                      #10

                      @SGaist I would like to think so. I was linking them the way i commented above but that was wrong so i went and changed it. But no results. same errors
                      LIBS += -L"C:/Packages/VC14/osg-3.5.1-qtcreator/lib" -losg141-osg
                      -lot20-OpenThreads
                      -losg141-osgAnimation
                      -losg141-osgDB
                      -losg141-osgFX
                      -losg141-osgGA
                      -losg141-osgManipulator
                      -losg141-osgParticle
                      -losg141-osgPresentation
                      -losg141-osgQt
                      -losg141-osgShadow
                      -losg141-osgSim
                      -losg141-osgTerrain
                      -losg141-osgText
                      -losg141-osgUI
                      -losg141-osgUtil
                      -losg141-osgViewer
                      -losg141-osgVolume
                      -losg141-osgWidget

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

                        And the exact same application builds properly with cmake ?

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

                        M 1 Reply Last reply
                        0
                        • SGaistS SGaist

                          And the exact same application builds properly with cmake ?

                          M Offline
                          M Offline
                          mBiz
                          wrote on last edited by
                          #12

                          @SGaist
                          Yes. With CMake I can run it just fine.
                          Could it be because I have not linked the plugins?

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

                            Which plugins are you referring to ?

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

                            M 2 Replies Last reply
                            0
                            • SGaistS SGaist

                              Which plugins are you referring to ?

                              M Offline
                              M Offline
                              mBiz
                              wrote on last edited by
                              #14

                              @SGaist 0_1478558672144_upload-789a9b9f-9e5e-4bde-9100-687d3b1c5483

                              0_1478558684171_upload-8adf3c55-f061-4cb5-a7cd-4ed82e2916e8

                              First is the page of lib folder
                              2nd is the plugins.

                              Fixing the order of the libraries got rid of the remaining LNK2001 errors i had.
                              Now all I have left is 7 LNK2019 errors similar to the original post

                              1 Reply Last reply
                              0
                              • SGaistS SGaist

                                Which plugins are you referring to ?

                                M Offline
                                M Offline
                                mBiz
                                wrote on last edited by
                                #15

                                @SGaist i thought i attached the images but i hadnt seen they arent visible. I will link them first hting in the morning. I appreciate the input greatly.
                                Thank you

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

                                  The upload feature is currently broken so you have to use an image sharing site in between.

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

                                  M 2 Replies Last reply
                                  1
                                  • SGaistS SGaist

                                    The upload feature is currently broken so you have to use an image sharing site in between.

                                    M Offline
                                    M Offline
                                    mBiz
                                    wrote on last edited by
                                    #17

                                    @SGaist [url=https://postimg.org/image/a2npfn1en/][img]https://s3.postimg.org/a2npfn1en/osglib.png[/img][/url]

                                    [url=https://postimg.org/image/w341w9k2n/][img]https://s3.postimg.org/w341w9k2n/plugins.png[/img][/url]

                                    [url=https://postimage.org/]image hosting over 5mb[/url]
                                    there are more plugins but the ones I use are
                                    osgdb_osg
                                    osgdb_serializers_osg
                                    osgdb_ply
                                    osgdb_3ds
                                    osgdb_stl
                                    osgdb_obj)
                                    osgdb_bmp
                                    osgdb_bvh
                                    osgdb_cfg
                                    osgdb_dxf
                                    osgdb_glsl
                                    osgdb_tga
                                    osgdb_png
                                    osgdb_jpeg
                                    osgdb_tiff
                                    osgdb_gif
                                    osgdb_freetype

                                    1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      The upload feature is currently broken so you have to use an image sharing site in between.

                                      M Offline
                                      M Offline
                                      mBiz
                                      wrote on last edited by
                                      #18

                                      @SGaist https://postimg.org/image/gqmzyjptp/
                                      https://postimg.org/image/9op2ccm7x/

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

                                        Can you compare the link line you have between your cmake project and your qmake project ?

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

                                        M 1 Reply Last reply
                                        0
                                        • SGaistS SGaist

                                          Can you compare the link line you have between your cmake project and your qmake project ?

                                          M Offline
                                          M Offline
                                          mBiz
                                          wrote on last edited by
                                          #20

                                          @SGaist I went an added all the plugins in the order the CMakelist does it and it didnt fix any errors. The problems seem. THe remaining errors have to do with
                                          osg::Matrixd
                                          osg::Matrixf

                                          osgVolume::Volume
                                          osgVolume::Layer
                                          osg::Group
                                          osg::BoundingSphereImpl

                                          I was able to eliminate another error by simply linking the libraries before certain statements in the .pro file but im still at 6 errors

                                          I had 2 additional errors previously at
                                          osg::Sphere
                                          osg::Vec3f
                                          but I was able to get this remove by simply moving my LIBS statement higher up in the .pro.
                                          What i dont understand is that even though im using a .pri file and including in every subproject, unless i directly add the libraries to the .pro file more errors persist

                                          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