Experimental Physics and
This page provides a repository for information about building EPICS on Microsoft Windows. If there are any mistakes here, or you find any other information that ought to go on this page, please let me know.
In May 2010, Carsten Winkler (BESSY) posted a set of instructions to tech-talk for building Base R3.14.11 with Visual Studio 2010 Express on Windows XP. However that information may be older than the instructions on this page below.
There is a similar (older) page to this one at KEK which goes into more detail and shows some older compilers and different versions of Base.
Paul Gibbons recently posted instructions on using the Microsoft Windows Debugger (WinDbg) to trace bugs in Windows IOCs.
Compilers and Build tools
EPICS can be built on Windows using the MinGW version of GNUmake, either ActiveState or Strawberry Perl, and your choice of MinGW GCC, Microsoft's Visual Studio C++ compiler (including the free Microsoft Visual Studio Express Editions). Alternatively it can be built using the Cygwin versions of GNUmake, Perl and GCC, which may be the simplest approach as far as installation goes but the performance using Cygwin is not as good as with the Microsoft native runtime.
Microsoft API (win32-x86, win32-x86-mingw or windows-x64)
Download and install a C/C++ compiler:
Apparently the free Visual Studio 2012 Express edition may not be able to properly build x64 binaries immediately after installation; if this happens, 'Repair' the installation in the Windows Control Panel → Programs window to get the 64-bit tools working.
Zachary Brown advised that for x64 builds using Visual Studio Express 2013 it is also necessary to download the Windows SDK and create a batch file named vcvars64.bat in the directory C:\Program Files (x86)\Microsoft Visual Studio\VC\bin\amd64\ containing the line
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
In addition to the compiler, you will also need the following free tools:
Note that the GnuWin version of GNU Make will not work properly if you install it into a directory that has parentheses () in its path, and it's possible that having spaces in the path might be a problem too. Don't install it anywhere under your C:\Program Files (x86)\ directory, although the C:\Program Files\ directory might be Ok if don't mind having to move it should you get any strange build errors. I would just use somewhere like C:\GnuWin32\ for safety's sake.
After extracting the EPICS Base source code, look in the base/startup directory for the win32.bat file which you can edit to help you set up the necessary path and environment variables for building base.
If you wish to cross-compile for a vxWorks target you will obviously need to have Wind River's Tornado or WorkBench software installed, and to edit the base/configure/os/CONFIG_SITE.Common.vxWorksCommon file.
Cygwin with GCC (cygwin-x86, cygwin-x86_64)
Download and run the 32-bit Cygwin Installer (you can use the 64-bit Cygwin Installer but you will have to create your own configuration files for the cygwin-x86_64 target on older versions of Base). When installing Cygwin to use with GCC, you may set the "Default Text File Type" to be either Unix or DOS depending on whether you expect to use other Windows-specific tools with this installation or not.
Note: Some Cygwin versions may not successfully build some EPICS Base versions, although it may still be possible if you to configure Base to create a statically linked version.
You will need to select at least the following Cygwin packages for installation (plus their atomatic dependencies):
The installer will add extra packages on which the above depend automatically. In addition to the above, the following packages are useful to have:
After the packages have been installed, use the cygwin tar program to extract the EPICS Base sourcce code. If you didn't install the readline package edit the file configure/os/CONFIG_SITE.Common.cygwin-x86 and comment out the COMMANDLINE_LIBRARY setting. At this point the only thing you need to do to build Base is to open a Cygwin bash shell window, set EPICS_HOST_ARCH and run make in the top level directory of Base:
$ export EPICS_HOST_ARCH=cygwin-x86 $ cd epics/base $ make ...
|ANJ, 03 Sep 2014||
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·