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