bladeRF icon indicating copy to clipboard operation
bladeRF copied to clipboard

Failing to cross compile for windows 32 bit: error: conflicting types for ‘ssize_t’

Open zsoerenm opened this issue 1 year ago • 0 comments

I failed to cross compile the windows 32 bit binaries using i686-w64-mingw32.

mkdir host/build
cd host/build
cmake -DCMAKE_INSTALL_PREFIX=$prefix\
  -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN}\
  -DCMAKE_BUILD_TYPE=Release\
  -DENABLE_BACKEND_LIBUSB=TRUE ..
make

It fails with:

[08:16:42] In file included from /workspace/srcdir/bladeRF/host/common/thirdparty/ad936x/../../../../thirdparty/analogdevicesinc/no-OS_local/platform_bladerf2/platform.h:47:0,
[08:16:42]                  from /workspace/srcdir/bladeRF/host/build/common/thirdparty/ad936x/ad9361.c:53:
[08:16:42] /workspace/srcdir/bladeRF/host/build/common/thirdparty/ad936x/util.h:163:17: error: conflicting types for ‘ssize_t’
[08:16:42]  typedef SSIZE_T ssize_t;
[08:16:42]                  ^~~~~~~
[08:16:42] In file included from /opt/i686-w64-mingw32/i686-w64-mingw32/sys-root/include/crtdefs.h:10:0,
[08:16:42]                  from /opt/i686-w64-mingw32/i686-w64-mingw32/sys-root/include/intrin.h:36,
[08:16:42]                  from /workspace/srcdir/bladeRF/host/build/common/thirdparty/ad936x/../../../common/include/host_config.h:128,
[08:16:42]                  from /workspace/srcdir/bladeRF/host/build/common/thirdparty/ad936x/ad9361.c:42:
[08:16:42] /opt/i686-w64-mingw32/i686-w64-mingw32/sys-root/include/corecrt.h:52:13: note: previous declaration of ‘ssize_t’ was here
[08:16:42]  typedef int ssize_t;
[08:16:42]              ^~~~~~~
[08:16:42] make[2]: *** [common/thirdparty/ad936x/CMakeFiles/ad936x.dir/build.make:77: common/thirdparty/ad936x/CMakeFiles/ad936x.dir/ad9361.c.obj] Error 1
[08:16:42] make[2]: Leaving directory '/workspace/srcdir/bladeRF/host/build'
[08:16:42] make[1]: *** [CMakeFiles/Makefile2:732: common/thirdparty/ad936x/CMakeFiles/ad936x.dir/all] Error 2

zsoerenm avatar Nov 07 '22 07:11 zsoerenm