Thanks Marcus.

The dependency of UHD on boost is not an issue; if they are both installed
from Ubuntu packages, they link without a problem. The problem was that my
code, compiled on one machine, did not link (wrong .so files) with a
different version of boost. I think that I can fix that in my C++ client by
removing the depenency on boost in my code.

This still leaves another binary compatibility problem that I encountered,
that gcc in different versions of Ubuntu generates different symbols for
C++ functions, causing linking problems when an .so file from one version
of Ubuntu is used on another version.

Hopefully the move to the C API will resolve the second problem. The first
is indeed easier to solve.

On Sun, Jul 16, 2017 at 12:31 PM, Marcus Müller <marcus.muel...@ettus.com>
wrote:

> Hello Sivan Toledo,
>
> I'm sorry I'm a bit late to react, but:
>
> since UHD internally still uses Boost, I'm a little afraid that using the
> C API is not a good solution here
> Best regards,
> Marcus
>
> On 07/15/2017 12:46 PM, Sivan Toledo via USRP-users wrote:
>
> I'm converting a CPP code from UHD 3.8.5 to the C api for 3.10. (The main
> reason for the conversion is that I binaries of my CPP programs don't run
> on both Ubuntu 14 and 16 because of incompatible libboost; hopefully using
> the C API and the Ubuntu uhd-host package will resolve this).
>
> I have a few questions:
>
> 1. Is the following correct, or do I have to "make" the
> string_vector_handle before I pass it to get_rx_gain_names? The manual says
> to always make, but my intuition is that get_rx_gain_names will make it for
> me, given that it gets a pointer to the handle, not the handle itself.
>
>   uhd_string_vector_handle gain_names;
>   uhd_usrp_get_rx_gain_names(usrp, 0 /* channel */, &gain_names);
>
> 2. Is there a C api version of set_rx_gain
> <https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a8234968ad1fefef299ef9541cc193915>
>  (double
> gain, size_t chan=0)? In the header files I found only set_rx_gain but
> with a gain_name argument. The CPP api has two overloaded methods, one with
> a gain-name argument and the other without it. Is the convenience method
> missing from the C API? Can I invoke it by passing NULL for the gain name?
>
> Thanks, Sivan Toledo
>
>
> _______________________________________________
> USRP-users mailing 
> listUSRP-users@lists.ettus.comhttp://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
>
>
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to