Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. [SOLVED] Undefined symbols for architecture x86_64 when building hidapi
Forum Updated to NodeBB v4.3 + New Features

[SOLVED] Undefined symbols for architecture x86_64 when building hidapi

Scheduled Pinned Locked Moved Installation and Deployment
12 Posts 2 Posters 183.2k 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.
  • R Offline
    R Offline
    rcari
    wrote on last edited by tekojo
    #3

    Oups, sorry... You are missing a link to the CoreFoundation framework!

    LIBS += CoreFoundation
    
    1 Reply Last reply
    0
    • H Offline
      H Offline
      Hedge
      wrote on last edited by tekojo
      #4

      Thank you. After adding it to the .pro file I get the error message:

      g++ -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version min=10.5 -o BigRedButton.app/Contents/MacOS/BigRedButton main.o hidapi-mac.o dream_cheeky.o dream_cheeky_big_red_button.o     CoreFoundation 
      i686-apple-darwin11-llvm-g++-4.2: CoreFoundation: No such file or directory
      

      XCode and all required frameworks are installed though.

      1 Reply Last reply
      0
      • R Offline
        R Offline
        rcari
        wrote on last edited by tekojo
        #5

        I am not a big fan/user of qmake so... Would you try
        LIBS += -framework CoreFoundation ?

        1 Reply Last reply
        0
        • H Offline
          H Offline
          Hedge
          wrote on last edited by
          #6

          That one works but I get the same error as in the first post.

          1 Reply Last reply
          0
          • R Offline
            R Offline
            rcari
            wrote on last edited by
            #7

            What version of Mac OS X are you running? Did you remove the minimum compatibility of 10.5?

            1 Reply Last reply
            0
            • H Offline
              H Offline
              Hedge
              wrote on last edited by
              #8

              I am on 10.7.4 and don't know how to remove the 10.5 requirement. QtCreator adds it automatically.

              1 Reply Last reply
              0
              • R Offline
                R Offline
                rcari
                wrote on last edited by
                #9

                Could you please paste back the exact error message you have now?

                1 Reply Last reply
                0
                • H Offline
                  H Offline
                  Hedge
                  wrote on last edited by tekojo
                  #10

                  I didn't notice that it changed. It is now:

                  g++ -headerpad_max_install_names -arch x86_64 -Xarch_x86_64 -mmacosx-version-min=10.5 -o BigRedButton.app/Contents/MacOS/BigRedButton main.o hidapi-mac.o dream_cheeky.o dream_cheeky_big_red_button.o     -framework CoreFoundation 
                  Undefined symbols for architecture x86_64:
                    "_IOHIDDeviceClose", referenced from:
                  make: Leaving directory `/Users/ali/Documents/big_red_button/BigRedButton'
                        _hid_close in hidapi-mac.o
                    "_IOHIDDeviceGetProperty", referenced from:
                        _get_int_property in hidapi-mac.o
                        _get_string_property in hidapi-mac.o
                        _get_string_property_utf8 in hidapi-mac.o
                    "_IOHIDDeviceGetReport", referenced from:
                        _hid_get_feature_report in hidapi-mac.o
                    "_IOHIDDeviceOpen", referenced from:
                        _hid_open_path in hidapi-mac.o
                    "_IOHIDDeviceRegisterInputReportCallback", referenced from:
                        _hid_open_path in hidapi-mac.o
                        _hid_close in hidapi-mac.o
                    "_IOHIDDeviceScheduleWithRunLoop", referenced from:
                        _read_thread in hidapi-mac.o
                        _hid_close in hidapi-mac.o
                    "_IOHIDDeviceSetReport", referenced from:
                        _set_report in hidapi-mac.o
                    "_IOHIDDeviceUnscheduleFromRunLoop", referenced from:
                        _hid_close in hidapi-mac.o
                    "_IOHIDManagerClose", referenced from:
                        _hid_exit in hidapi-mac.o
                    "_IOHIDManagerCopyDevices", referenced from:
                        _hid_enumerate in hidapi-mac.o
                        _hid_open_path in hidapi-mac.o
                    "_IOHIDManagerCreate", referenced from:
                        _init_hid_manager in hidapi-mac.o
                    "_IOHIDManagerRegisterDeviceRemovalCallback", referenced from:
                        _hid_open_path in hidapi-mac.o
                        _hid_close in hidapi-mac.o
                    "_IOHIDManagerScheduleWithRunLoop", referenced from:
                        _init_hid_manager in hidapi-mac.o
                    "_IOHIDManagerSetDeviceMatching", referenced from:
                        _init_hid_manager in hidapi-mac.o
                  ld: symbol(s) not found for architecture x86_64@
                  
                  1 Reply Last reply
                  0
                  • R Offline
                    R Offline
                    rcari
                    wrote on last edited by tekojo
                    #11

                    Alright, so just to give you a hint on how to solve those problems in the future...
                    Your missing symbols begin with IOHID. In Mac OS X all classes beginning with IO belong to the "I/O Kit":http://developer.apple.com/library/mac/#documentation/devicedrivers/conceptual/IOKitFundamentals/Introduction/Introduction.html.
                    Therefore, you can deduce that you are missing a link to the I/O Kit libraries or "framework".
                    Simply add this to your .pro file: LIBS += -framework IOKit

                    1 Reply Last reply
                    0
                    • H Offline
                      H Offline
                      Hedge
                      wrote on last edited by
                      #12

                      Did that ten seconds ago and it finally compiles. Thanks for the help :)

                      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