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