Compile Errors

Using callback.h

If you get

c:\instrument\apps\epics2\support\hvcaenx527\master\libhvcaenx527app\src\hvcaenx527.h(79): error C2059: syntax error: '__cdecl'
c:\instrument\apps\epics2\support\hvcaenx527\master\libhvcaenx527app\src\hvcaenx527.h(80): error C2059: syntax error: '}'
c:\instrument\apps\epics2\support\hvcaenx527\master\libhvcaenx527app\src\hvcaenx527chaio.c(42): error C2223: left of '->evntno' must point to struct/union

when including callback.h it is because EPICS defines CALLBACK as a structure, windows defines it as __cdecl. If you need to include windows.h you must include it before epics redefines CALLBACK in callback.h Including osiSock.h is a workaround as that pulls in windows.h but it may be better to be explicit with

#ifdef _WIN32
#include <windows.h> /* we need to make sure EPICS callback.h is loaded after windows.h */
#endif

cmake error: could not load cache seen during build

Try deleting any CMakeCache.txt files in the appropriate directory

Can’t build any IOCS

When trying to use Make to build IOCs you might encounter an Error 2. The failing Make will look something like this:

process_begin: CreateProcess(NULL, echo Generating runIOC.bat, ...) failed.
make (e=2): The system cannot find the file specified.

This can be a result of having an environment path for git that points to git/bin. If it is, then make will think you are on linux and then the build will fail. You must change this to be git/cmd to point at the Windows binaries.

See also Ticket 4201 for a potential fix.