I am also having issues with the uhd libraries on Windows using Visual Studio.  
My observations so far:

*       First – be sure any linked app’s are using Multi-Byte character set as 
it VS defaults to unicode
*       The default binary libraries did not work for me at all when trying to 
link them to my applications – I assumed it might have something to do with 
using Visual Studio 2022. To work around this problem I built & installed UDE 
using my system & Visual Studio 2022 enterprise environment.
*       The DEBUG & Release builds (BUILD_ALL project) of the UDE library built 
without error and the RUN_TEST execute with 100% of the tests reporting success 
– however the DEBUG versions of  ‘und_find_devices’ and other UHD utilities all 
fail with ‘Error: bad allocation’ while the ‘Release’ versions executed without 
error.  Same was true of my application which I original built by adding it to 
the UHD generated solution using one of the other application project 
frameworks.
*       I eventually settled on building & Installing the ‘RelWithDebInfo’ 
version of the UHD library and created an external solution for my app that 
references the installed version of UDE that I built
*       The failures of the DEBUG builds ‘appear’ to be related to argument 
processing as I have found senecios where normal argument strings are not 
processed correctly by the UDE C++ API’s (appear as junk when stepping into the 
library code). Where building apps with Release  or RelWithDebInfo will operate 
correctly. Have not isolated which ‘Release’ code generation option is critical 
to UHD.
*       I have also found similar argument parsing issues with my Ubuntu UDE 
targets but haven’t run them to ground as I currently need to be able to field 
a b200 application on a Windows target



Hope this helps… I’m still looking into the debug builds as time permits but 
haven’t found anything specific  - not sure what optimization (other than not 
using Unicode) is critical to the Windows build of UDE library maybe someone in 
the group can provide insight.



From: Olo via USRP-users <usrp-users@lists.ettus.com>
Sent: Monday, April 17, 2023 05:11
To: usrp-users <usrp-users@lists.ettus.com>
Subject: [USRP-users] Re: UHD in Qt c++ windows



I copied init_usrp.cpp to ConsoleApplication in visual studio and in properties 
I set Configuration properties >> C/C++ >> Additional Include Directories:

C:\Program Files\UHD\include

D:\Boost\boost_1_82_0



Configuration properties >> Linker >> General:

C:\UHD\lib

D:\Boost\boost_1_82_0\lib64-msvc-14.3



Configuration properties >> Linker >> Input:

uhd.lib



It got me:

Exception thrown at 0x00007FFCCAC64065 (uhd.dll) in ConsoleApplication1.exe: 
0xC0000005: Access violation reading location 0x00000039A1F20000.





I think there will be problem with my libraries. The UHD I installed via 
bianaries 
https://files.ettus.com/binaries/uhd/latest_release/4.3.0.0/Windows-10-x64/

and the boost same 
https://sourceforge.net/projects/boost/files/boost-binaries/1.82.0/.





Sent with Proton Mail<https://proton.me/> secure email.



------- Original Message -------
On Monday, April 17th, 2023 at 10:14, Marcus Müller 
<marcus.muel...@ettus.com<mailto:marcus.muel...@ettus.com>> wrote:




   Hi Olo,

   nobody's going to be mad at you because of your English, which, by the way, 
is very good! English isn't my first language, either :) Welcome to the USRP 
developer community.

   So, let's tackle this one by one:

   If you take the code from init_usrp.cpp [1] and try to compile it in your 
project instead of your own code, does it also segfault?

   If not, then we need to look at your code.

   If yes, then we need to look at your compilation settings. I'm not a Windows 
user myself, but I remember (at least older) MSVC was not happy when you mix 
debug builds of libraries and release builds of software, or vice versa.

   Best regards,
   Marcus

   [1] https://github.com/EttusResearch/uhd/tree/UHD-4.3/host/examples/init_usrp

   On 17.04.23 09:18, Olo via USRP-users wrote:

      Hello,

      Im trying to work with my B210 in Qt. The thing is I have added in .pro 
file (using qmake) UHD (4.3.0.0) lib and include header files to my project 
with boost (1.82.0) library and I cant do pretty mutch anything. I tried to 
list all devices and I cant event set uhd::device_addr_t hint; because I got 
exeption there (Stopped in thread 0 by: Exception at ... read access violation 
...). The examples in UHD folder works great. Please dont be mad at me because 
of my english or lack of info but I fell like Im really lost at this point.



      my SW:

      -windows 10

      -Qt 5.12.2

      -msvc2019 x64

      -uhd 4.3.0.0

      -boost 1.82.0



      Thanks for any response.

      Olo



      Sent with Proton Mail<https://proton.me/> secure email.



      _______________________________________________
      USRP-users mailing list -- 
usrp-users@lists.ettus.com<mailto:usrp-users@lists.ettus.com>
      To unsubscribe send an email to 
usrp-users-le...@lists.ettus.com<mailto:usrp-users-le...@lists.ettus.com>



_______________________________________________
USRP-users mailing list -- usrp-users@lists.ettus.com
To unsubscribe send an email to usrp-users-le...@lists.ettus.com

Reply via email to