I now have the host tools working on Windows 10. Thanks to Dominic for
assistance. If you want to update the Windows build instructions, I would be
happy to test them out. Or if you would like a copy of the binaries, just let
me know how to upload to the wiki.
Using Windows 10, I updated the firmware and CPLD on my HackRF One. Here is the
output:
C:\local\hackrf\hackrf_tools>hackrf_info
hackrf_info version: unknown
libhackrf version: unknown (0.5)
Found HackRF
Index: 0
Serial number: 00000000000000****************** {actual s/n obfuscated by me}
Board ID Number: 2 (HackRF One)
Firmware Version: 2017.02.1 (API:1.02)
Part ID Number: 0xa000cb3c 0x005d475a
So just one minor question left: should the version numbers for hackrf_info and
libhackrf show as 'unknown'?
________________________________
From: Dominic Spill <[email protected]>
Sent: February 14, 2017 9:20:59 AM
To: Gavin Jacobs
Subject: Re: [Hackrf-dev] release 2017.02.1
I tracked this down very late last night. You are using the static version of
libusb and I'm using the DLL. libusb-1.0.18-win\MS64\static\libusb-1.0.lib vs
libusb-1.0.18-win\MS64\dll\libusb-1.0.lib
The tricky part was working out why this matters. It turns out that Visual
Studio 14 2015 has changed the way that some functions are linked, most notably
the stdio.h functions, this wouldn't be a problem with binaries built with the
same compiler or dynamically linked libraries, but when linking to a static
library built with the different versions of the function, it causes a problem.
There are two fixes to this:
1) Use the dll version
2) Add legacy_stdio_definitions.lib to the linked libraries
Option 2 doesn't entirely solve it and there are some required code changes. I
recommend using the dll for now.
Thanks,
Dominic
On 14 February 2017 at 08:19, Gavin Jacobs
<[email protected]<mailto:[email protected]>> wrote:
Dominic,
Further to your questions:
I believe I have the latest version. I downloaded hacrkf-master.zip and all the
files within are timestamped 2017-02-11 11:24.
Here is my CMAKE command (executed from C:\local\hackrf-master\host\build )
cmake ../ -G "Visual Studio 14 2015 Win64"
-DLIBUSB_INCLUDE_DIR=c:\local\libusb-1.0.18-win\include\libusbx-1.0
-DLIBUSB_LIBRARIES=c:\local\libusb-1.0.18-win\MS64\static\libusb-1.0.lib
-DTHREADS_PTHREADS_INCLUDE_DIR=c:\local\pthreads-w32-2-9-1-release\Pre-built.2\include
-DTHREADS_PTHREADS_WIN32_LIBRARY=c:\local\pthreads-w32-2-9-1-release\Pre-built.2\lib\x64\pthreadVC2.lib
-DPKG_CONFIG_EXECUTABLE=C:\local\pkg-config_0.26-1_win32\bin\pkg-config.exe
The only difference I see is the libusb version (1.0.18-win vs. 1.0.21).
Thanks,
Jake
________________________________
From: Dominic Spill <[email protected]<mailto:[email protected]>>
Sent: February 13, 2017 5:42:27 PM
To: Gavin Jacobs
Subject: Re: [Hackrf-dev] release 2017.02.1
On 13 February 2017 at 17:11, Gavin Jacobs
<[email protected]<mailto:[email protected]>> wrote:
>
> Thanks for the pointer to pkgconfig. If you are updating the instructions,
> you'll need the extra info as follows.
I've been experimenting with this today and I've discovered that the pkg-config
thing is my fault, you shouldn't need it for the Windows build, but I made an
error in the config that complains if you don't have it.
>
> NB: in addition to the files in that zip, you also need two other DLLs as per
> steps 4 - 8 below:
>
> go to http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/
> download the file pkg-config_0.26-1_win32.zip
> extract the files to c:\programs\pk-config_0.26-1_win32
> download the file gettext-runtime_0.18.1.1-2_win32.zip
> extract JUST the file bin/intl.dll to c:\programs\pk-config_0.26-1_win32\bin
> go to http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28
> download file glib_2.28.8-1_win32.zip
> extract JUST the file bin/libglib-2.0-0.dll to
> c:\programs\pk-config_0.26-1_win32
This is strange, I don't need these at all. Although I've just discovered that
none of my executables work.
> Meanwhile, getting pkgconfig fixed the cmake step, but now MSBUILD step is
> reporting errors such as:
> libusb-1.0.lib(core.obj) : error LNK2001: unresolved external symbol
> __imp__iob [C:\local\hackrf-master\host\build\libhackrf\src\hackrf.vcxproj]
> libusb-1.0.lib(core.obj) : error LNK2019: unresolved external symbol
> __imp__vsnprintf referenced in function usbi_log_v
> [C:\local\hackrf-master\host\build\libhackrf\src\hackrf.vcxproj]
> libusb-1.0.lib(core.obj) : error LNK2019: unresolved external symbol
> __imp__snprintf referenced in function usbi_log_v
> [C:\local\hackrf-master\host\build\libhackrf\src\hackrf.vcxproj]
> libusb-1.0.lib(windows_usb.obj) : error LNK2001: unresolved external symbol
> __imp__snprintf
> [C:\local\hackrf-master\host\build\libhackrf\src\hackrf.vcxproj]
> libusb-1.0.lib(windows_usb.obj) : error LNK2019: unresolved external symbol
> __imp_sprintf referenced in function guid_to_string
> [C:\local\hackrf-master\host\build\libhackrf\src\hackrf.vcxproj]
> libusb-1.0.lib(windows_usb.obj) : error LNK2019: unresolved external symbol
> __imp_sscanf referenced in function force_hcd_device_descriptor
> [C:\local\hackrf-master\host\build\libhackrf\src\hackrf.vcxproj]
> C:\local\hackrf-master\host\build\libhackrf\src\Debug\hackrf.dll : fatal
> error LNK1120: 5 unresolved externals
> [C:\local\hackrf-master\host\build\libhackrf\src\hackrf.vcxproj]
I seem to remember having these issues, but they should have been resolved
recently. Are you building from the 2017.02.1 release package?
Could you send me your cmake command line? Mine is:
PS C:\Program Files\hackrf_all\bin> cmake.exe ../ -G "Visual Studio 14 2015
Win64" -DLIBUSB_INCLUDE_DIR=C:\src\libusb-1.0.21\include\libusb-1.0\
-DLIBUSB_LIBRARIES=C:\src\libusb-1.0.21\MS64\dll\libusb-1.0.lib
-DTHREADS_PTHREADS_INCLUDE_DIR=C:\src\pthreads-w32-2-9-1-release\Pre-built.2\include\
-DTHREADS_PTHREADS_WIN32_LIBRARY=C:\src\pthreads-w32-2-9-1-release\Pre-built.2\lib\x64\pthreadVC2.lib
-DPKG_CONFIG_EXECUTABLE=C:\src\pkg-config_0.26-1_win32\bin\pkg-config.exe
_______________________________________________
HackRF-dev mailing list
[email protected]
https://pairlist9.pair.net/mailman/listinfo/hackrf-dev