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. Linking a lib with QT on linux
Forum Updated to NodeBB v4.3 + New Features

Linking a lib with QT on linux

Scheduled Pinned Locked Moved Solved General and Desktop
22 Posts 4 Posters 3.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.
  • K Offline
    K Offline
    Keith Harville
    wrote on last edited by
    #8

    I have created a small test app and made one call to the library as well.

    I can send you the full source for test app as well.

    1 Reply Last reply
    1
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #9

      Hi
      If libray is compiled with same compiler and all that is in order, then
      its most of the time just a path issue.

      However, that is hard to test so the mini sample is a good thing.

      Could you upload to say
      https://wetransfer.com/
      and use the get link
      alt text

      and paste link here so we could try run the project ?

      1 Reply Last reply
      0
      • K Offline
        K Offline
        Keith Harville
        wrote on last edited by
        #10

        here is a link to the testApp.zip it should include everything

        https://we.tl/t-TcnN3DZR7b

        mrjjM 1 Reply Last reply
        0
        • K Keith Harville

          here is a link to the testApp.zip it should include everything

          https://we.tl/t-TcnN3DZR7b

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #11

          @Keith-Harville
          Link works.
          However, its seems the cpp for libfw_console_api.so is not included ?

          So we also need to know the gcc version used to compile the test app.
          Just we are sure to use ca. the same version.

          I assume no Qt was used in libfw_console_api so Qt version is not important.

          1 Reply Last reply
          1
          • Christian EhrlicherC Offline
            Christian EhrlicherC Offline
            Christian Ehrlicher
            Lifetime Qt Champion
            wrote on last edited by
            #12

            @mrjj said in Linking a lib with QT on linux:

            So we also need to know the gcc version used to compile the test app.

            And the complete error message.

            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
            Visit the Qt Academy at https://academy.qt.io/catalog

            1 Reply Last reply
            1
            • K Offline
              K Offline
              Keith Harville
              wrote on last edited by
              #13

              gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)

              1 Reply Last reply
              0
              • K Offline
                K Offline
                Keith Harville
                wrote on last edited by
                #14

                undefined reference to `fwConsole_initConsoleHeader(FW_CONSOLE_HEADER*)'

                1 Reply Last reply
                0
                • Christian EhrlicherC Offline
                  Christian EhrlicherC Offline
                  Christian Ehrlicher
                  Lifetime Qt Champion
                  wrote on last edited by
                  #15

                  Since it's a C library you must make sure that the compiler also interpret your header as C ->

                  extern "C"
                  {
                  #include "fw_console_api.h"
                  }
                  

                  Or fix the header so it's not needed for every include of it.

                  Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                  Visit the Qt Academy at https://academy.qt.io/catalog

                  mrjjM 1 Reply Last reply
                  4
                  • K Offline
                    K Offline
                    Keith Harville
                    wrote on last edited by
                    #16

                    Thank you so much, that fixed it

                    1 Reply Last reply
                    0
                    • Christian EhrlicherC Christian Ehrlicher

                      Since it's a C library you must make sure that the compiler also interpret your header as C ->

                      extern "C"
                      {
                      #include "fw_console_api.h"
                      }
                      

                      Or fix the header so it's not needed for every include of it.

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #17

                      @Christian-Ehrlicher
                      Hi
                      You are so fast. :)
                      What did you run on it too see it was a C lib ?
                      or just be looking in the .h file ?

                      1 Reply Last reply
                      0
                      • Christian EhrlicherC Offline
                        Christian EhrlicherC Offline
                        Christian Ehrlicher
                        Lifetime Qt Champion
                        wrote on last edited by
                        #18

                        @mrjj said in Linking a lib with QT on linux:

                        What did you run on it too see it was a C lib ?

                        I got a linker error, looked at the exports and they looked like plain C exports. Then the idea with the wrong symbols was there :)

                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                        Visit the Qt Academy at https://academy.qt.io/catalog

                        mrjjM 1 Reply Last reply
                        2
                        • Christian EhrlicherC Christian Ehrlicher

                          @mrjj said in Linking a lib with QT on linux:

                          What did you run on it too see it was a C lib ?

                          I got a linker error, looked at the exports and they looked like plain C exports. Then the idea with the wrong symbols was there :)

                          mrjjM Offline
                          mrjjM Offline
                          mrjj
                          Lifetime Qt Champion
                          wrote on last edited by
                          #19

                          @Christian-Ehrlicher
                          Ok, where did you look at the exports ?
                          With objdump or ?
                          Im asking as i want to learn. Since you knew so fast and i was still looking at it :)

                          1 Reply Last reply
                          0
                          • Christian EhrlicherC Offline
                            Christian EhrlicherC Offline
                            Christian Ehrlicher
                            Lifetime Qt Champion
                            wrote on last edited by
                            #20

                            @mrjj said in Linking a lib with QT on linux:

                            With objdump or ?

                            Yes, "objdump -T" - take a look at the libfw_console_api.so output and you will notice that they're plain C functions - they are not annotated.

                            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                            Visit the Qt Academy at https://academy.qt.io/catalog

                            mrjjM 1 Reply Last reply
                            2
                            • Christian EhrlicherC Christian Ehrlicher

                              @mrjj said in Linking a lib with QT on linux:

                              With objdump or ?

                              Yes, "objdump -T" - take a look at the libfw_console_api.so output and you will notice that they're plain C functions - they are not annotated.

                              mrjjM Offline
                              mrjjM Offline
                              mrjj
                              Lifetime Qt Champion
                              wrote on last edited by mrjj
                              #21

                              @Christian-Ehrlicher
                              Thank you
                              Its handy to know. goes on my of list of things to try when you get undefined's and
                              checked path many times :=)

                              1 Reply Last reply
                              0
                              • K Offline
                                K Offline
                                Keith Harville
                                wrote on last edited by
                                #22

                                for the header fix, I added in the header and that took care of it

                                #ifdef __cplusplus
                                #define FWCONSOLEAPI_DECLSPEC extern  "C"
                                #else
                                #define FWCONSOLEAPI_DECLSPEC extern
                                #endif//__cplusplus
                                

                                thank you again, you guys are awesome

                                1 Reply Last reply
                                1

                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved