[etherlab-users] ec_slave3.c
Gijs van Oort
g.vanoort at utwente.nl
Wed Jul 4 10:19:43 CEST 2018
Hello,
As far as I know, you should not mex ec_slave3.c. Instead, you just need
to update the (old) version of the file as was installed by Etherlab
with a newer one. The file is automatically used during the build
process in Simulink.
See https://www.symbitron.eu/wiki/index.php?title=EtherLab_Installation
, there's a small section on that.
Please report if this helps for you.
Best,
Gijs van Oort
On 03-7-2018 16:00, Hasan atieh wrote:
>
> *Hello,*
>
> *I know that before building the Simulink model I have to run the
> following command:*
>
> *“mex ec_slave3.c” *
>
> *So when I do that I get the long list of errors below. I saw that
> someone faced this problem too but I saw no response to his mail.*
>
> *I am using MATLAB 2017b & the current version of etherlab which is
> etherlab2.1.0.*
>
> Error using mex
>
> ec_slave3.c
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(217):
>
> warning C4005: 'max': macro redefinition
>
> C:\Program Files (x86)\Windows
> Kits\10\\include\10.0.17134.0\ucrt\stdlib.h(1289): note: see previous
>
> definition of 'max'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(337):
> error
>
> C2084: function 'int vsnprintf(char *const ,const size_t,const char
> *const ,va_list)' already has a body
>
> C:\Program Files (x86)\Windows
> Kits\10\\include\10.0.17134.0\ucrt\stdio.h(1430): note: see previous
>
> definition of 'vsnprintf'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(354):
> error
>
> C2084: function 'int snprintf(char *const ,const size_t,const char
> *const ,...)' already has a body
>
> C:\Program Files (x86)\Windows
> Kits\10\\include\10.0.17134.0\ucrt\stdio.h(1940): note: see previous
>
> definition of 'snprintf'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(557):
>
> warning C4267: '=': conversion from 'size_t' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(576):
>
> warning C4267: '=': conversion from 'size_t' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(632):
>
> warning C4244: '=': conversion from 'real_T' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(636):
>
> warning C4244: '=': conversion from 'real_T' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(640):
>
> warning C4244: '=': conversion from 'real_T' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(644):
>
> warning C4244: '=': conversion from 'real_T' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(673):
>
> warning C4244: '=': conversion from 'real_T' to 'uint16_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(677):
>
> warning C4267: '=': conversion from 'size_t' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(696):
>
> warning C4244: '=': conversion from 'const real_T' to 'uint16_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(697):
>
> warning C4244: '=': conversion from 'const real_T' to 'uint8_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(698):
>
> warning C4244: '=': conversion from 'const real_T' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(726):
>
> warning C4244: '=': conversion from 'real_T' to 'uint16_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(736):
>
> warning C4267: '=': conversion from 'size_t' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(791):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(792):
>
> warning C4244: '=': conversion from 'real_T' to 'uint16_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(796):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(797):
>
> warning C4244: '=': conversion from 'real_T' to 'int16_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(806):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(807):
>
> warning C4244: '=': conversion from 'real_T' to 'size_t', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(810):
>
> warning C4267: 'function': conversion from 'size_t' to 'int', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(853):
>
> warning C4244: '=': conversion from 'real_T' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(859):
>
> warning C4267: '=': conversion from 'size_t' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(865):
>
> warning C4244: '=': conversion from 'real_T' to 'uint8_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(929):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(930):
>
> warning C4244: '=': conversion from 'real_T' to 'uint16_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(933):
>
> warning C4267: 'function': conversion from 'size_t' to 'int', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(947):
>
> warning C4267: 'function': conversion from 'size_t' to 'int', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(964):
>
> warning C4244: '=': conversion from 'real_T' to 'uint8_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1009):
>
> warning C4244: '=': conversion from 'const real_T' to 'uint16_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1014):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1015):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1016):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1017):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1019):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1020):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1021):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1022):
>
> warning C4244: '=': conversion from 'const real_T' to 'int32_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1063):
>
> warning C4244: '=': conversion from 'real_T' to 'uint32_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1067):
>
> warning C4244: '=': conversion from 'real_T' to 'uint32_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1095):
>
> warning C4267: '=': conversion from 'size_t' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1111):
>
> warning C4267: 'function': conversion from 'size_t' to 'int', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1192):
>
> warning C4267: 'function': conversion from 'size_t' to 'int', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1210):
>
> warning C4267: '+=': conversion from 'size_t' to 'int_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1224):
>
> warning C4267: '=': conversion from 'size_t' to 'int32_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1372):
>
> warning C4244: '+=': conversion from 'const real_T' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1323):
>
> warning C4244: 'initializing': conversion from 'double' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1396):
>
> warning C4267: 'function': conversion from 'size_t' to 'int', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1416):
> error
>
> C2065: 'ssize_t': undeclared identifier
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1416):
> error
>
> C2146: syntax error: missing ')' before identifier 'val'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1417):
> error
>
> C2059: syntax error: ')'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1433):
> error
>
> C2065: 'ssize_t': undeclared identifier
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1433):
> error
>
> C2146: syntax error: missing ')' before identifier 'val'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1434):
> error
>
> C2059: syntax error: ')'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1444):
> error
>
> C2065: 'ssize_t': undeclared identifier
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1444):
> error
>
> C2146: syntax error: missing ')' before identifier 'val'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1445):
> error
>
> C2059: syntax error: ')'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1466):
>
> warning C4244: '=': conversion from 'real_T' to 'size_t', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1472):
> error
>
> C2065: 'ssize_t': undeclared identifier
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1472):
> error
>
> C2146: syntax error: missing ')' before identifier 'val'
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1489):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1493):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1495):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1499):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1502):
>
> warning C4244: '+=': conversion from '__int64' to 'int_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1508):
>
> warning C4267: 'function': conversion from 'size_t' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1554):
>
> warning C4267: '=': conversion from 'size_t' to 'uint_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1574):
>
> warning C4267: 'function': conversion from 'size_t' to 'int', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1608):
>
> warning C4244: 'return': conversion from '__int64' to 'int_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1736):
>
> warning C4244: '=': conversion from 'double' to 'unsigned int',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1746):
>
> warning C4244: 'function': conversion from '__int64' to 'int_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1755):
>
> warning C4244: 'function': conversion from '__int64' to 'int_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1759):
>
> warning C4244: '=': conversion from '__int64' to 'int_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1854):
>
> warning C4018: '>': signed/unsigned mismatch
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1849):
>
> warning C4244: 'initializing': conversion from '__int64' to 'uint_T',
> possible loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(1901):
>
> warning C4244: '=': conversion from '__int64' to 'int_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(2090):
>
> warning C4267: '=': conversion from 'size_t' to 'uint32_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(2267):
>
> warning C4244: '=': conversion from '__int64' to 'uint32_T', possible
> loss of data
>
> C:\Users\hasan\Desktop\Programs\Matlab\EtherLab\etherlab-2.1.0\rtw\blocks\EtherCAT\ec_slave3.c(2236):
>
> warning C4244: 'initializing': conversion from '__int64' to 'uint_T',
> possible loss of data
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20180704/782eacb8/attachment-0004.htm>
More information about the Etherlab-users
mailing list