2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 <2021> 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Problem building ezcaIDL on Windows |
From: | Mark Rivers via Core-talk <core-talk at aps.anl.gov> |
To: | EPICS core-talk <core-talk at aps.anl.gov> |
Date: | Fri, 11 Jun 2021 14:36:39 +0000 |
I am trying to build the master branch of
https://github.com/epics-extensions/ezcaIDL on windows-x64 with base 7.0.4 and VS 2015. This used to build OK, either on an earlier version of base or VS or both. This extension builds a shareable library/DLL to call Channel Access from IDL. It depends on extensions/ezca and extensions/EzcaScan. Both of those libraries build fine on Windows. ezcaIDL builds fine on Linux. However, on Windows I get this: H:\epics\extensions\src\ezcaIDL>make make -C O.windows-x64 -f ../Makefile TOP=../../.. \ T_A=windows-x64 install make[1]: Entering directory 'H:/epics/extensions/src/ezcaIDL/O.windows-x64' link -nologo -subsystem:windows -dll -LTCG -incremental:no -opt:ref -release -MACHINE:X64 /manifest -out:ezcaIDL.dll -implib:ezcaIDL.lib -def:../ezcaIDL.def ezcaIDL.obj ../../../lib/windows-x64/ezca.lib ../../../lib/windows-x64/EzcaScan.lib
../../../../base/lib/windows-x64/ca.lib ../../../../base/lib/windows-x64/Com.lib ws2_32.lib advapi32.lib user32.lib ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Zero' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Clear' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Add' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorQueue_Get' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaCheckMonitorArray' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaGetMonitorArray' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaClearMonitorArray' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaAddMonitorArray' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Zero' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Get' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Clear' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaMonitorScan_Add' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaPutArrayEventValues' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaPutArrayValues' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaGetArrayEventValues' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaGetArrayTypeCount' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaGetArrayValues' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaGetError' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaSearchList' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaTimeStamp' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaSetPendTime' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaPendEvent' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaInit' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaDebug' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'EzcaVersion' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLAutoErrorMessageOff' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLAutoErrorMessageOn' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLTraceOff' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLTraceOn' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLDebugOff' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLDebugOn' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLEndGroup' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLStartGroup' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetEnumStrings' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLEndGroupWithReport' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetRetryCount' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetTimeout' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLSetRetryCount' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLSetTimeout' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLNewMonitorValue' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLClearMonitor' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLSetMonitor' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetCountAndType' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLPutOldCa' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLPut' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetErrorString' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLPerror' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetUnits' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetStatus' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetPrecision' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetGraphicLimits' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGetControlLimits' specified multiple times; using first specification ezcaIDL.obj : warning LNK4197: export 'ezcaIDLGet' specified multiple times; using first specification Creating library ezcaIDL.lib and object ezcaIDL.exp ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_search_list ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_getArrayEvent ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaTraceOn ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetTimeout ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaTraceOff ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_getTypeCount ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaNewMonitorValue ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaSetRetryCount ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaSetMonitor ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaDebugOff ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaEndGroup ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaEndGroupWithReport ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_version ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetPrecision ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanClearMonitor ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanZeroMonitor ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayCheck ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPut ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_debug ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPutOldCa ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetRetryCount ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPvToChid ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaDebugOn ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_get_error_array ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetGraphicLimits ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetStatus ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetControlLimits ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueClear ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaAutoErrorMessageOn ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueGet ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanGetMonitor ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_putArray ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetErrorString ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_scanAdd ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_setPendTime ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaSetTimeout ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaFree ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_CA ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaClearMonitor ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaAutoErrorMessageOff ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_timeStamp ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayGet ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_getArray ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGet ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayAdd ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueAdd ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaStartGroup ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_monitorArrayClear ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_queueZero ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_putArrayEvent ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaGetUnits ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_Ezca_init ezcaIDL.obj : error LNK2001: unresolved external symbol __imp_ezcaPerror ezcaIDL.dll : fatal error LNK1120: 53 unresolved externals make[1]: *** [../../../../base/configure/RULES_BUILD:298: ezcaIDL.dll] Error 1120 make[1]: Leaving directory 'H:/epics/extensions/src/ezcaIDL/O.windows-x64' make: *** [../../../base/configure/RULES_ARCHS:58: install.windows-x64] Error 2 Note that it uses a .DEF file to define what symbols should be exported. Has support for that changed? If so, how do I need to do it now? Thanks, Mark |