Hi,
I am having problems compiling asyn 4-35 (and current version of master) on Windows 10 with Visual Studio 2019 Community Edition. Problem is specific to windows since asyn-4-35 compiles on debian 7/8/9 and ubuntu 18.
C:\epics\support\asyn>make
…
make[1]: Entering directory 'C:/epics/support/asyn/asyn'
perl -CSD C:/epics/base/bin/windows-x64/makeMakefile.pl O.windows-x64 ../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
make -C O.windows-x64 -f ../Makefile TOP=../.. \
T_A=windows-x64 install
make[2]: Entering directory 'C:/epics/support/asyn/asyn/O.windows-x64'
…
…
cl -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I../../asyn/drvAsynSerial/os/default
-I.. -I../../asyn/asynDriver -I../../asyn/asynGpib -I../../asyn/drvAsynSerial -I../../asyn/interfaces -I../../asyn/miscellaneous -I../../asyn/asynPortDriver/exceptions -I../../asyn/asynPortDriver -I../../asyn/asynPortClient -I../../asyn/devEpics -I../../asyn/asynRecord
-I../../asyn/vxi11 -I../../asyn/gsIP488 -I../../asyn/ni1014 -I../../asyn/devGpib -I../../include/compiler/msvc -I../../include/os/WIN32 -I../../include -IC:/epics/support/ipac/include -IC:/epics/support/seq/include -IC:/epics/base/include/compiler/msvc
-IC:/epics/base/include/os/WIN32 -IC:/epics/base/include -c ../../asyn/drvAsynSerial/drvAsynIPPort.c
drvAsynIPPort.c
c:\epics\support\asyn\asyn\drvasynserial\drvasynipport.c(462) : warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
…..
cl -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -GL -Oy- -W3 -MD -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -I. -I../O.Common -I. -I. -I../../asyn/drvAsynSerial/os/default
-I.. -I../../asyn/asynDriver -I../../asyn/asynGpib -I../../asyn/drvAsynSerial -I../../asyn/interfaces -I../../asyn/miscellaneous -I../../asyn/asynPortDriver/exceptions -I../../asyn/asynPortDriver -I../../asyn/asynPortClient -I../../asyn/devEpics -I../../asyn/asynRecord
-I../../asyn/vxi11 -I../../asyn/gsIP488 -I../../asyn/ni1014 -I../../asyn/devGpib -I../../include/compiler/msvc -I../../include/os/WIN32 -I../../include -IC:/epics/support/ipac/include -IC:/epics/support/seq/include -IC:/epics/base/include/compiler/msvc
-IC:/epics/base/include/os/WIN32 -IC:/epics/base/include -c ../../asyn/miscellaneous/asynInterposeDelay.c
asynInterposeDelay.c
c:\epics\support\asyn\asyn\miscellaneous\asyninterposedelay.c(216) : error C2059: syntax error : '{'
c:\epics\support\asyn\asyn\miscellaneous\asyninterposedelay.c(220) : error C2059: syntax error : '}'
c:\epics\support\asyn\asyn\miscellaneous\asyninterposedelay.c(229) : fatal error C1903: unable to recover from previous error(s); stopping compilation
make[2]: *** [C:/epics/base/configure/RULES_BUILD:235: asynInterposeDelay.obj] Error 2
make[2]: Leaving directory 'C:/epics/support/asyn/asyn/O.windows-x64'
make[1]: *** [C:/epics/base/configure/RULES_ARCHS:58: install.windows-x64] Error 2
make[1]: Leaving directory 'C:/epics/support/asyn/asyn'
make: *** [C:/epics/base/configure/RULES_DIRS:84: asyn.install] Error 2
==========================================================================================
==============================
There is a similar error in asyninterposeecho.c, when compiling with -sj> make -sj
c:\epics\support\asyn\asyn\miscellaneous\asyninterposeecho.c(190) : error C2059: syntax error : '{'
c:\epics\support\asyn\asyn\miscellaneous\asyninterposeecho.c(193) : error C2059: syntax error : '}'
ParamValWrongType.cpp
c:\epics\support\asyn\asyn\miscellaneous\asyninterposeecho.c(202) : fatal error C1903: unable to recover from previous error(s); stopping compilation
c:\epics\support\asyn\asyn\miscellaneous\asyninterposedelay.c(216) : error C2059: syntax error : '{'
c:\epics\support\asyn\asyn\miscellaneous\asyninterposedelay.c(220) : error C2059: syntax error : '}'
c:\epics\support\asyn\asyn\miscellaneous\asyninterposedelay.c(229) : fatal error C1903: unable to recover from previous error(s); stopping compilation
paramVal.cpp
make[2]: *** [C:/epics/base/configure/RULES_BUILD:234: asynInterposeEcho.obj] Error 2
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [C:/epics/base/configure/RULES_BUILD:234: asynInterposeDelay.obj] Error 2
ParamValValueNotChanged.cpp
asynPortDriver.cpp
asynPortClient.cpp
devAsynOctet.c
c:\epics\support\asyn\asyn\devepics\devasynoctet.c(326) : warning C4267: '=' : conversion from 'size_t' to 'epicsUInt32', possible loss of data
c:\epics\support\asyn\asyn\devepics\devasynoctet.c(746) : warning C4267: '=' : conversion from 'size_t' to 'epicsUInt32', possible loss of data
c:\epics\support\asyn\asyn\devepics\devasynoctet.c(751) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c:\epics\support\asyn\asyn\asynportdriver\asynportdriver.cpp(136) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c:\epics\support\asyn\asyn\asynportdriver\asynportdriver.cpp(144) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c:\epics\support\asyn\asyn\asynportdriver\asynportdriver.cpp(157) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
c:\epics\support\asyn\asyn\asynportdriver\asynportdriver.cpp(796) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
make[1]: *** [C:/epics/base/configure/RULES_ARCHS:58: install.windows-x64] Error 2
make: *** [C:/epics/base/configure/RULES_DIRS:84: asyn.install] Error 2
===============================
The source lines indicate the Visual Studio does not interpret 2nd set of “{“
/* register asynInterposeEcho*/
|
|
static
const iocshFuncDef asynInterposeEchoFuncDef
=
|
|
{"asynInterposeEcho",
2, (const
iocshArg *[]) {
|
|
&(iocshArg) {
"portName", iocshArgString },
|
|
&(iocshArg) {
"addr", iocshArgInt },
|
|
}};
|
=======================
/* register asynInterposeDelay*/
|
|
static
const iocshFuncDef asynInterposeDelayFuncDef
=
|
|
{"asynInterposeDelay",
3, (const
iocshArg *[]) {
|
|
&(iocshArg) {
"portName", iocshArgString },
|
|
&(iocshArg) {
"addr", iocshArgInt },
|
|
&(iocshArg) {
"delay(sec)", iocshArgDouble },
|
|
}};
|
Cheers,
Kazimierz Gofron
NSLS-II Controls Group
Brookhaven National Laboratory
(p) +1 (631) 344 5283
(f) +1 (631) 344 8085
(e)
[email protected]
(w)
www.bnl.gov/nsls2