最近想在windows上也装个epics base。昨天实验了一下,问题多多。还是没有在linux下安装来的方便 。不同版本的gnu make,VC,perl,epics base组合在一起,编译报错也不同,搞的我很郁闷。最后还是用比较老的base版本编译通过了。
软件组合:gnu make 3.80,ActivePerl-5.8.6.811,VC 6,epics base 3.14.5。另外安装了Exceed8.0
1、安装VC 6.0,perl,exceed,make(将gnumake.exe放入make-3.80目录即可)
2、设置环境变量。通过编辑 base-3.14.5/startup/win32.bat 来设定环境变量,为方便起见,可以将win32.bat复制到C:/Documents and Settings/%HOST_NAME%
环境变量的设置根据自己的进行修改
set PATH=C:/WINDOWS;C:/WINDOWS/SYSTEM32
set PATH=%PATH%;E:/epics/soft/make-3.80;E:/Perl/bin
call "E:/Program Files/Microsoft Visual Studio/VC98/Bin/vcvars32.bat"
set EPICS_HOST_ARCH=win32-x86
set PATH=%PATH%;E:/epics/base-3.14.5/bin/%EPICS_HOST_ARCH%
set PATH=%PATH%;E:/epics/extensions/bin/%EPICS_HOST_ARCH%
set HOST_ARCH=WIN32
set MAKEFLAGS=-w
set HOME=/home/%USERNAME%
set PATH=%PATH%;D:/Program Files/Java/jdk1.5.0_08/bin
set PATH=%PATH%;E:/Program Files/Hummingbird/Connectivity/8.00/Exceed
set TMP=E:/temp
set include=%include%;E:/epics/base-3.14.5/include/os/WIN32
set EPICS_BASE=E:/epics/base-3.14.5
set EPICS_EXTENSIONS=E:/epics/extensions
REM ===================================================
set PATH=%PATH%;E:/epics/test/bin/win32-x86;E:/epics/soft/jca/jca2.1.2/win32-x86
set CLASSPATH=.;E:/epics/soft/jca/jca2.1.2/jca.jar;E:/epics/soft/SimpleJCA/SimpleJCA.jar;E:/epics/soft/SimpleJCA/JProbe.jar
这里最后两项是后面建立IOC和使用JCA编java程序时我添加的,编译BASE时可以不使用
3、编译BASE。在命令提示符下先运行win32.bat,然后进入BASE目录运行gnumake(如果之前有编译过,最好先gnumake clean uninstall,然后gnumake)
4、启动IOC。建立任意目录test
perl e:/epics/base-3.14.5/win32-x86/makeBaseApp.pl -t example testapp
perl e:/epics/base-3.14.5/win32-x86/makeBaseApp.pl -i -t example testapp
将 /test/bin/win32-x86 加入path
在 test目录里运行gnumake
编译成功后进入/test/iocBoot/iocexample目录下运行 testapp st.cmd就可以启动IOC了
然后运行 dbl 可以看到一些channel的名称。
5、使用JCA。这里我使用的是JCA 2.1.2
解压后,将jca.dll文件的目录地址添加到PATH
将jca.jar文件添加到classpath
修改jca.jar文件gov.aps.jca里的JCALibrary.properties
修改如下两项
gov.aps.jca.jni.epics.win32-x86.caRepeater.path=E:/epics/base-3.14.5/bin/win32-x86
gov.aps.jca.jni.epics.win32-x86.library.path=E:/epics/base-3.14.5/bin/win32-x86
注意红色部分,在linux下相应的改成linux-x86
将JCALibrary.properties复制到D:/Program Files/Java/jdk1.5.0_08/jre/lib
现在就可以使用JCA来编写java程序了
注:由于环境变量的信息全部写在win32.bat里,所以每次重新启动cmd的时候,运行win32.bat,环境变量设置才生效。