I'm working on a project that involves interfacing a PC (windows based) with a raspberry pi 3 using Bluetooth with c++. I've done some research and found that the library BlueZ is one of the best options for successfully connecting both devices. My question is do I need to download and install BlueZ? or it comes with the latest version of Raspian? If I need to install it do you know how I could do it?
Yes, BlueZ is included in the latest versions of Raspberry Pi OS. To check that it is running on your system, use the command
service bluetooth status.
BlueZ's API for interfacing with various languages are documented at: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc
There is the the mgmt API for system level tasks and the D-Bus API for application level tasks.
There is a command line tool called
bluetoothctl that can be useful for exploring the capabilities of the various D-Bus API's.
btmgmt does the same for the mgmt API.
help in either of these tools will give you a list of the commands.
There are examples of how to do various tasks with BlueZ available in the source tree at: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test