Hi,

I have problem with compiling cpp code written in 2010 using MSVC 2019 compiler in matlab as follows (I would like later debug the code in MSVC through attaching it to Matlab process)
>> mex -g entropy\entropy_nsb_c.cpp

It generates errors which are connected in some way with cmath file native to MSVC 2019. I can not find where and why this file is called and makes errors.
The errors look like below. I attached 2 files which are used in this compilation.

>> mex -g entropy\entropy_nsb_c.cpp
Building with 'Microsoft Visual C++ 2019'.
Error using mex
entropy_nsb_c.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(178): error C2062: type 'long' unexpected
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(178): error C2143: syntax error: missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(178): error C2447: '{': missing function header (old-style formal
list?)
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(222): error C2143: syntax error: missing ',' before '+'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(222): error C2084: function 'float floor(float) noexcept' already
has a body
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(106): note: see previous definition of 'floor'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(418): error C2062: type 'long' unexpected
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(418): error C2143: syntax error: missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(418): error C2447: '{': missing function header (old-style formal
list?)
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(466): error C2143: syntax error: missing ',' before '+'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(466): error C2084: function 'long double floor(long double)
noexcept' already has a body
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(341): note: see previous definition of 'floor'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(658): error C2988: unrecognizable template declaration/definition
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(658): error C2143: syntax error: missing ',' before '+'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(658): error C2995: 'double floor(_Ty) noexcept': function template
has already been defined
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(653): note: see declaration of 'floor'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(658): warning C4348: 'floor': redefinition of default parameter:
parameter 2
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(653): note: see declaration of 'floor'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(659): error C2062: type 'long' unexpected
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(659): error C2143: syntax error: missing ';' before '{'
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.26.28801\include\cmath(659): error C2447: '{': missing function header (old-style formal
list?)
G:\DATA_WS\Fabian\STAToolkit\spike\entropy\entropy_nsb_c.cpp(1266): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
G:\DATA_WS\Fabian\STAToolkit\spike\entropy\entropy_nsb_c.cpp(1276): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
G:\DATA_WS\Fabian\STAToolkit\spike\entropy\entropy_nsb_c.cpp(1286): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
>> entropy_nsb_c.cpptoolkit_c.h