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.
Forum Updated to NodeBB v4.3 + New Features

OSG integration with QT...Trouble linking libraries.

Scheduled Pinned Locked Moved Unsolved General and Desktop
33 Posts 3 Posters 13.2k Views 2 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.
  • 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