pothosware / SoapySDR

Vendor and platform neutral SDR support library.
https://github.com/pothosware/SoapySDR/wiki
Boost Software License 1.0
1.12k stars 179 forks source link

Windows Compilation Error with Visual Studio #395

Closed Mas313 closed 1 year ago

Mas313 commented 1 year ago

I am running windows 10. When building SoapySDR i get error for vsnprintf , NAN and missing ';' before '{' I have run these commands after configuring for Visual Studio 12 and generated solution files with warnings for python. I need to work on C and C++. cmake --build SoapySDR_win64 --config Release --target install referenced from https://cubicsdr.readthedocs.io/en/stable/building-cubicsdr/windows.html

Errors FormatsC.cpp ConvertersC.cpp E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\LoggerC.cpp(85): error C2039: 'vsnprintf' : is not a member of 'std' [E :\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(33): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(54): warning C4244: '=' : conversion from 'const double' to 'int32_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(75): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(96): warning C4244: '=' : conversion from 'const double' to 'int8_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(112): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(124): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(137): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(149): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(162): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(174): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(187): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(199): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(212): warning C4244: 'argument' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj ] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(224): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(237): warning C4244: 'argument' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj ] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(249): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(262): warning C4244: 'argument' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj ] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(274): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(287): warning C4244: 'argument' : conversion from 'const double' to 'uint16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxpro j] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(299): warning C4244: '=' : conversion from 'const double' to 'uint16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(312): warning C4244: 'argument' : conversion from 'const double' to 'int8_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(324): warning C4244: '=' : conversion from 'const double' to 'int8_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(349): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(370): warning C4244: '=' : conversion from 'const double' to 'int32_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(391): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(412): warning C4244: '=' : conversion from 'const double' to 'int8_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] Modules.cpp E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(428): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(440): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(453): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(465): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(478): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(490): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(503): warning C4244: 'argument' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(515): warning C4244: '=' : conversion from 'const double' to 'float', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(528): warning C4244: 'argument' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj ] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(540): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(553): warning C4244: 'argument' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj ] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(565): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(578): warning C4244: 'argument' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj ] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(590): warning C4244: '=' : conversion from 'const double' to 'int16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(603): warning C4244: 'argument' : conversion from 'const double' to 'uint16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxpro j] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(615): warning C4244: '=' : conversion from 'const double' to 'uint16_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(628): warning C4244: 'argument' : conversion from 'const double' to 'int8_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DefaultConverters.cpp(640): warning C4244: '=' : conversion from 'const double' to 'int8_t', possible loss of data [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(54): error C2065: 'NAN' : undeclared identifier [E:\Laptop- E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(419): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] Version.cpp E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(472): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(479): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(517): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(524): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(573): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(606): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(639): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapySDR\lib\DeviceC.cpp(661): error C2065: 'NAN' : undeclared identifier [E:\Laptop -E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\Modules.cpp(172): error C2059: syntax error : '{' [E:\Laptop-E-Drive\ SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\Modules.cpp(172): error C2143: syntax error : missing ';' before '{' [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj] E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\Modules.cpp(172): error C2143: syntax error : missing ';' before '}' [E:\Laptop-E-Drive\SDR\21 Dec 22\MS\SoapyBuild\lib\SoapySDR.vcxproj]

zuckschwerdt commented 1 year ago

Visual Studio 12

(Version 2013) has a different vsnprintf, proper support started with Visual Studio 2015. S.a. https://learn.microsoft.com/cpp/c-runtime-library/reference/vsnprintf-vsnprintf-vsnprintf-l-vsnwprintf-vsnwprintf-l