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.6k 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.
  • 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 Online
          Christian EhrlicherC Online
          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 Online
                Christian EhrlicherC Online
                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 Online
                      Christian EhrlicherC Online
                      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 Online
                          Christian EhrlicherC Online
                          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