Hi Vishnu,
I just tried what you did and it worked for me:
*********************************************
J:\epics\devel\test>h:\epics-devel\base-7.0.1\bin\win32-x86-static\makeBaseApp.pl -t ioc test
J:\epics\devel\test>h:\epics-devel\base-7.0.1\bin\win32-x86-static\makeBaseApp.pl -t ioc -i test
The following target architectures are available in base:
linux-x86
vxWorks-ppc32
linux-x86_64
windows-x64-static
windows-x64
win32-x86-static
windows-x64-static-vs2015
windows-x64-static-vs2017
windows-x64-vs2015
win32-x86-static-vs2017
win32-x86-vs2017
What architecture do you want to use? win32-x86-static
The following applications are available:
test
What application should the IOC(s) boot?
The default uses the IOC's name, even if not listed above.
Application name? test
J:\epics\devel\test>make
make -C ./configure install
make[1]: Entering directory 'J:/epics/devel/test/configure'
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/makeMakefile.pl O.win32-x86-static ../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
make -C O.win32-x86-static -f ../Makefile TOP=../.. \
T_A=win32-x86-static install
make[2]: Entering directory 'J:/epics/devel/test/configure/O.win32-x86-static'
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/convertRelease.pl checkRelease
make[2]: Leaving directory 'J:/epics/devel/test/configure/O.win32-x86-static'
make[1]: Leaving directory 'J:/epics/devel/test/configure'
make -C ./testApp install
make[1]: Entering directory 'J:/epics/devel/test/testApp'
make -C ./src install
make[2]: Entering directory 'J:/epics/devel/test/testApp/src'
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/makeMakefile.pl O.win32-x86-static ../../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
make -C O.win32-x86-static -f ../Makefile TOP=../../.. \
T_A=win32-x86-static install
make[3]: Entering directory 'J:/epics/devel/test/testApp/src/O.win32-x86-static'
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/mkmf.pl -m testMain.d -I. -I../O.Common -I. -I. -I.. -I../../.
./include/compiler/msvc -I../../../include/os/WIN32 -I../../../include -IH:/epics-devel/base-7.0.1/include/compiler/msvc
-IH:/epics-devel/base-7.0.1/include/os/WIN32 -IH:/epics-devel/base-7.0.1/include testMain.obj ../testMain.cpp
"Creating dbd file test.dbd"
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/dbdExpand.pl -I. -I.. -I../O.Common -I../../../dbd -IH:/epics
-devel/base-7.0.1/dbd -o test.dbd base.dbd
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/registerRecordDeviceDriver.pl -I. -I.. -I../O.Common -I../../
../dbd -IH:/epics-devel/base-7.0.1/dbd -o test_registerRecordDeviceDriver.cpp ../O.Common/test.dbd test_registerRecor
dDeviceDriver J:/epics/devel/test
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/mkmf.pl -m test_registerRecordDeviceDriver.d -I. -I../O.Common
-I. -I. -I.. -I../../../include/compiler/msvc -I../../../include/os/WIN32 -I../../../include -IH:/epics-devel/base-7.0.
1/include/compiler/msvc -IH:/epics-devel/base-7.0.1/include/os/WIN32 -IH:/epics-devel/base-7.0.1/include test_reg
isterRecordDeviceDriver.obj test_registerRecordDeviceDriver.cpp
"Installing created dbd file ../../../dbd/test.dbd"
mkdir ../../../dbd
cl -EHsc -GR -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -Oy- -W3
-w44355 -w44344 -w44251 -MT -TP -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/msvc -I../../../incl
ude/os/WIN32 -I../../../include -IH:/epics-devel/base-7.0.1/include/compiler/msvc -IH:/epics-devel/base-7.0.1/include/os
/WIN32 -IH:/epics-devel/base-7.0.1/include -c test_registerRecordDeviceDriver.cpp
test_registerRecordDeviceDriver.cpp
cl -EHsc -GR -nologo -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -Ox -Oy- -W3
-w44355 -w44344 -w44251 -MT -TP -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/msvc -I../../../incl
ude/os/WIN32 -I../../../include -IH:/epics-devel/base-7.0.1/include/compiler/msvc -IH:/epics-devel/base-7.0.1/include/os
/WIN32 -IH:/epics-devel/base-7.0.1/include -c ../testMain.cpp
testMain.cpp
link -nologo -incremental:no -opt:ref -release -out:test.exe test_registerRecordDeviceDriver.obj t
estMain.obj H:/epics-devel/base-7.0.1/lib/win32-x86-static/dbRecStd.lib H:/epics-devel/base-7.0.1/lib/win32-x86-sta
tic/dbCore.lib H:/epics-devel/base-7.0.1/lib/win32-x86-static/ca.lib H:/epics-devel/base-7.0.1/lib/win32-x86-static/Co
m.lib ws2_32.lib advapi32.lib user32.lib kernel32.lib winmm.lib
"Installing created executable ../../../bin/win32-x86-static/test.exe"
mkdir ../../../bin
mkdir ../../../bin/win32-x86-static
make[3]: Leaving directory 'J:/epics/devel/test/testApp/src/O.win32-x86-static'
make[2]: Leaving directory 'J:/epics/devel/test/testApp/src'
make -C ./Db install
make[2]: Entering directory 'J:/epics/devel/test/testApp/Db'
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/makeMakefile.pl O.win32-x86-static ../../..
perl -CSD -MExtUtils::Command -e mkpath O.Common
make -C O.win32-x86-static -f ../Makefile TOP=../../.. \
T_A=win32-x86-static install
make[3]: Entering directory 'J:/epics/devel/test/testApp/Db/O.win32-x86-static'
make[3]: Nothing to be done for 'install'.
make[3]: Leaving directory 'J:/epics/devel/test/testApp/Db/O.win32-x86-static'
make[2]: Leaving directory 'J:/epics/devel/test/testApp/Db'
make[1]: Leaving directory 'J:/epics/devel/test/testApp'
make -C ./iocBoot install
make[1]: Entering directory 'J:/epics/devel/test/iocBoot'
make -C ./ioctest install
make[2]: Entering directory 'J:/epics/devel/test/iocBoot/ioctest'
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/convertRelease.pl -t J:/epics/devel/test envPaths
perl -CSD H:/epics-devel/base-7.0.1/bin/win32-x86-static/convertRelease.pl -a win32-x86-static -t J:/epics/devel/test dl
lPath.bat
make[2]: Leaving directory 'J:/epics/devel/test/iocBoot/ioctest'
make[1]: Leaving directory 'J:/epics/devel/test/iocBoot'
*********************************************
Note that I am using base 7.0.1.1, while you are using 3.16.1. But they are very similar.
I have seen those “Can’t open perl script” errors before, but I don’t recall under what circumstances.
Mark
Hi ALL,
I tried to develop IOC application on windows with Visual studio.
c:\epics\Devlop\test>"..\..\base-3.16.1\bin\win32-x86\makeBaseApp.pl" -t ioc test
c:\epics\Devlop\test>"..\..\base-3.16.1\bin\win32-x86\makeBaseApp.pl" -t ioc -i test
Using target architecture win32-x86 (only one available)
The following applications are available:
test
What application should the IOC(s) boot?
The default uses the IOC's name, even if not listed above.
Application name? test
c:\epics\Devlop\test>make
Can't open perl script ".": Permission denied
make: Entering directory `c:/epics/Devlop/test'
make -C ./configure install
Can't open perl script "..": Permission denied
make[1]: Entering directory `c:/epics/Devlop/test/configure'
perl -CSD c:/epics/Devlop/test/configure/C:/epics/base-3.16.1/bin/win32-x86/makeMakefile.pl O.win32-x86 ../..
Can't open perl script "c:/epics/Devlop/test/configure/C:/epics/base-3.16.1/bin/win32-x86/makeMakefile.pl": Invalid argument
make[1]: *** [O.win32-x86] Error 22
make[1]: Leaving directory `c:/epics/Devlop/test/configure'
make: *** [configure.install] Error 2
make: Leaving directory `c:/epics/Devlop/test'
c:\epics\Devlop\test>
What additional configuration i need for making the IOC application on windows?
Thanks
Vishnu