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.
  • 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