From 415131e3f17bd4bde97e44f8b80caca998521ab9 Mon Sep 17 00:00:00 2001 From: Zihan Chen Date: Thu, 22 Feb 2018 12:12:59 -0800 Subject: [PATCH 1/2] Fixed windows x64 link path --- CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 55f0f15..39bf21f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,11 @@ set(SOEM_LIB_INSTALL_DIR lib) if(WIN32) set(OS "win32") include_directories(oshw/win32/wpcap/Include) - link_directories(${CMAKE_SOURCE_DIR}/oshw/win32/wpcap/Lib) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + link_directories(${CMAKE_SOURCE_DIR}/oshw/win32/wpcap/Lib/x64) + elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) + link_directories(${CMAKE_SOURCE_DIR}/oshw/win32/wpcap/Lib) + endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") set(OS_LIBS wpcap.lib Packet.lib Ws2_32.lib Winmm.lib) From 462464ee37b0a4fb477f1c8f0fa69b4a78df1a7f Mon Sep 17 00:00:00 2001 From: Zihan Chen Date: Thu, 22 Feb 2018 14:58:48 -0800 Subject: [PATCH 2/2] Fixed windows x64 warning C4267 conversion from size_t to uint16 --- soem/ethercatconfig.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/soem/ethercatconfig.c b/soem/ethercatconfig.c index b31c04f..ea51b6a 100644 --- a/soem/ethercatconfig.c +++ b/soem/ethercatconfig.c @@ -763,7 +763,7 @@ static int ecx_map_sm(ecx_contextt *context, uint16 slave) context->slavelist[slave].SM[nSM].SMflags = htoel( etohl(context->slavelist[slave].SM[nSM].SMflags) & EC_SMENABLEMASK); } - ecx_FPWR(context->port, configadr, ECT_REG_SM0 + (nSM * sizeof(ec_smt)), + ecx_FPWR(context->port, configadr, (uint16)(ECT_REG_SM0 + (nSM * sizeof(ec_smt))), sizeof(ec_smt), &context->slavelist[slave].SM[nSM], EC_TIMEOUTRET3); EC_PRINT(" SM%d Type:%d StartAddr:%4.4x Flags:%8.8x\n", nSM, context->slavelist[slave].SMtype[nSM], @@ -1507,7 +1507,7 @@ int ecx_reconfig_slave(ecx_contextt *context, uint16 slave, int timeout) { if (context->slavelist[slave].SM[nSM].StartAddr) { - ecx_FPWR(context->port, configadr, ECT_REG_SM0 + (nSM * sizeof(ec_smt)), + ecx_FPWR(context->port, configadr, (uint16)(ECT_REG_SM0 + (nSM * sizeof(ec_smt))), sizeof(ec_smt), &context->slavelist[slave].SM[nSM], timeout); } } @@ -1525,7 +1525,7 @@ int ecx_reconfig_slave(ecx_contextt *context, uint16 slave, int timeout) /* program configured FMMU */ for( FMMUc = 0 ; FMMUc < context->slavelist[slave].FMMUunused ; FMMUc++ ) { - ecx_FPWR(context->port, configadr, ECT_REG_FMMU0 + (sizeof(ec_fmmut) * FMMUc), + ecx_FPWR(context->port, configadr, (uint16)(ECT_REG_FMMU0 + (sizeof(ec_fmmut) * FMMUc)), sizeof(ec_fmmut), &context->slavelist[slave].FMMU[FMMUc], timeout); } }