Found this procedure , for Eclipse IDE, which puts difffernt spin onto the problem. To me it implies that linker can use "source" instead of library.
To use the latest Bluetooth kernel modules is one important thing, but without support from the user space these modules are useless. For the minimal functionality the bluez package is needed.
bluez-5.50.tar.xz
Copy and paste the extracted folder (named something like bluez-5.31) to the usr\include folder.
The path to usr\include folder may look something like this C:\Intel\iotdk-ide-win\devkit-x86\sysroots\i586-poky-linux\usr\include
Now on Eclipse (assuming your project is open) add the linker flags for your project. On Eclipse's menus select Project>Properties>C/C++ Build>Settings>Tool Settings>Cross GCC Linker>Miscellaneous, add the flag "-bluez-3.1" and click OK.
Note: This flag is basically a "-" character concatenated with the name of the bluez folder.
4. Edit the header calls on your main file; add the path to where the header files needed are. In this case bluetooth.h, hci.h and hci_lib.h are inside bluez 5.31, header calls should look something like these:
#include "bluez-5.31/bluetooth.h"
#include "bluez-5.31/hci.h"
#include "bluez-5.31/hci_lib.h"
5. Proceed to save (Ctrl + S) and Build Project.
Unfortunately Linux / Eclipse (?) won't let me add the "extracted folder" into /usr/include - need permission. I added full path to my Bluez-5.50 and linker did not complain about that but the overall result was - now getting more errors. I am going to look into linker "miscellaneous " options to see what is missing. Note the /usr/include has folder "bluetooth" which contains the needed headers. That works fine. I have no idea how it got there.