I'm a new to Ethernet/IP, I started compilation in Windows 10 64 bit machine. I setup MinGW compiler in my machine and started with build. I stuck at creating MINGWPLATFORM library compilation and hit with error, details are below and attached a complete log for your reference.
Scanning dependencies of target MINGWPLATFORM
[ 72%] Building C object src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkhandler.c.obj
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkhandler.c: In function 'ShutdownSocketPlatform':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkhandler.c:41:2: warning: #warning "Untested. Is a shutdown() needed under Windows like for the POSIX port?" [-Wcpp]
#warning \
^~~~~~~
[ 74%] Building C object src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/opener_error.c.obj
[ 76%] Building C object src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkconfig.c.obj
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:84:61: error: unknown type name 'PNET_IFINDEX'
static DWORD ConvertToIndexFromFakeAlias(const char *iface, PNET_IFINDEX iface_idx)
^~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:125:65: error: unknown type name 'PNET_IFINDEX'
static EipStatus DetermineIfaceIndexByString(const char *iface, PNET_IFINDEX iface_idx)
^~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'RetrieveAdapterAddressesTable':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:170:9: error: 'ERROR_BUFFER_OVERFLOW' undeclared (first use in this function)
if (ERROR_BUFFER_OVERFLOW == ret_val) {
^~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:170:9: note: each undeclared identifier is reported only once for each function it appears in
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:176:7: error: 'NO_ERROR' undeclared (first use in this function)
if (NO_ERROR != ret_val || NULL == p_addr_table) {
^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'WideToCipString':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:216:12: error: 'ERROR_NO_UNICODE_TRANSLATION' undeclared (first use in this function)
return ERROR_NO_UNICODE_TRANSLATION;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:219:12: error: 'ERROR_BUFFER_OVERFLOW' undeclared (first use in this function)
return ERROR_BUFFER_OVERFLOW;
^~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:229:14: error: 'ERROR_OUTOFMEMORY' undeclared (first use in this function)
return ERROR_OUTOFMEMORY;
^~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:244:10: error: 'ERROR_SUCCESS' undeclared (first use in this function)
return ERROR_SUCCESS;
^~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'IfaceGetMacAddress':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:264:22: warning: implicit declaration of function 'DetermineIfaceIndexByString' [-Wimplicit-function-declaration]
if(kEipStatusOk != DetermineIfaceIndexByString(iface, &iface_idx)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:287:9: warning: implicit declaration of function 'memcpy_s' [-Wimplicit-function-declaration]
memcpy_s(physical_address, 6,
^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'IfaceGetConfiguration':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:311:23: error: 'GAA_FLAG_INCLUDE_GATEWAYS' undeclared (first use in this function)
GAA_FLAG_INCLUDE_GATEWAYS | GAA_FLAG_INCLUDE_PREFIX;
^~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:344:9: error: unknown type name 'PIP_ADAPTER_GATEWAY_ADDRESS'
PIP_ADAPTER_GATEWAY_ADDRESS pGateway = p_addr_entry->FirstGatewayAddress;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:344:60: error: 'struct _IP_ADAPTER_ADDRESSES' has no member named 'FirstGatewayAddress'; did you mean 'FirstUnicastAddress'?
PIP_ADAPTER_GATEWAY_ADDRESS pGateway = p_addr_entry->FirstGatewayAddress;
^~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:345:18: warning: comparison between pointer and integer
if (NULL != pGateway) {
^~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:346:63: error: invalid type argument of '->' (have 'int')
local_cfg.gateway = GetIpFromSocketAddress(&pGateway->Address);
^~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:361:11: error: 'NO_ERROR' undeclared (first use in this function)
if (NO_ERROR != ret_val) {
^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'IfaceWaitForIp':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:408:13: error: 'ERROR_INSUFFICIENT_BUFFER' undeclared (first use in this function)
if (ERROR_INSUFFICIENT_BUFFER == dw_ret) {
^~~~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:420:11: error: 'NO_ERROR' undeclared (first use in this function)
if (NO_ERROR != dw_ret) {
^~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:432:22: error: 'MIB_IPADDR_DELETED' undeclared (first use in this function)
(MIB_IPADDR_DELETED | MIB_IPADDR_DISCONNECTED | MIB_IPADDR_TRANSIENT))) {
^~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:432:43: error: 'MIB_IPADDR_DISCONNECTED' undeclared (first use in this function)
(MIB_IPADDR_DELETED | MIB_IPADDR_DISCONNECTED | MIB_IPADDR_TRANSIENT))) {
^~~~~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:432:69: error: 'MIB_IPADDR_TRANSIENT' undeclared (first use in this function)
(MIB_IPADDR_DELETED | MIB_IPADDR_DISCONNECTED | MIB_IPADDR_TRANSIENT))) {
^~~~~~~~~~~~~~~~~~~~
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c: In function 'WideToCipString':
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:245:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
At top level:
D:\01_MyTasks\OpENerBuild\OpENer\source\src\ports\MINGW\networkconfig.c:52:14: warning: 'StrToIfaceIdx' defined but not used [-Wunused-function]
static ULONG StrToIfaceIdx(const char *iface)
^~~~~~~~~~~~~
src\ports\MINGW\CMakeFiles\MINGWPLATFORM.dir\build.make:112: recipe for target 'src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkconfig.c.obj' failed
make[2]: *** [src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/networkconfig.c.obj] Error 1
CMakeFiles\Makefile2:338: recipe for target 'src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/all' failed
make[1]: *** [src/ports/MINGW/CMakeFiles/MINGWPLATFORM.dir/all] Error 2
Makefile:82: recipe for target 'all' failed
make: *** [all] Error 2
Can anyone help me on above issue or detail build steps on windows 10 64 machine.
Thank you.