RE: bluez 4.97: build failure when used in C++ apps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>-----Original Message-----
>From: Patrick Ohly [mailto:patrick.ohly@xxxxxxxxx]
>Sent: Monday, January 16, 2012 4:26 PM
>To: linux-bluetooth@xxxxxxxxxxxxxxx
>Cc: Milan Crha; Deng, Ying An; Hofemeier, Ulf; Wang, Ning W
>Subject: bluez 4.97: build failure when used in C++ apps
>
>Hello!
>
>Bluez 4.97 has entered some distros recently (Fedora Core, MeeGo 1.2 update),
>which broke compilation of the C++ code in SyncEvolution using
>/usr/lib/bluetooth.h.
>
>The compiler error is:
>/usr/include/bluetooth/bluetooth.h::131:9: error: invalid conversion from 
>'void*' to 'bt_get_le64(void*)::<anonymous struct>*'
>...
>
>The reason is that C++, in contrast to C, does not allow conversion of void * to
>anything, and this code gets compiled as C++ when the app is written in C++. The
>macro with the assignment itself is older, but only recent Bluez starts to use it in
>inline functions, thus triggering the problem.
>
>Attached is a proposed solution. Note that I have only verified that it now
>compiles in C and C++, I have not actually tested the resulting Bluez, because
>compilation fails for me on Debian Testing for another reason (libcheck.a linked
>into shared object, doesn't work because not relocatable).
>

Verified in Bluez, and it compiles successfully.
Thanks.

>--
>Best Regards, Patrick Ohly
>
>The content of this message is my personal opinion only and although I am an
>employee of Intel, the statements I make here in no way represent Intel's
>position on the issue, nor am I authorized to speak on behalf of Intel on this
>matter.

��.n��������+%������w��{.n�����{����^n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�

[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux