Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Still in XP hell


I am compiling an application that is a combination of C++ and Fortran (most of the work is done by the Fortran, there is a C++ wrapper that parses some XML and hands the result to the Fortran).

The code is compiled with VS 2012 on a Windows 7 machine, but also has to run on a Windows XP machine.  When I first compiled it I got some errors due to the initialization code trying to call a function in kernel32.dll that is only in Vista and later.  I was pointed to ; I did what was recommended -- for the C++ compiles I set the Platform to "Visual Studio 2012 - Windows XP (v110_xp)" and in the Fortran link I set the subsystem to "/SUBSYSTEM:CONSOLE,5.01".

Well, after that the debug version of the code ran fine on Windows XP.  But I just compiled a release version, and now the problem has popped up all over again.  I get "The procedure entry point FlushProcessWriteBuffers could not be located in the dynamic link library KERNEL32.dll" when I try to run.  So the XP problem is back again despite me having all the magic parameters set properly.

Does anybody have any idea what to do?



0 Kudos
1 Reply
Black Belt

I think that the root issue is that applications built using the VS2012 libraries are not always compatible with XP. In some cases there may be work-arounds, but it is going to be a slog. Have you considered building with a version of VS that is compatible with XP?

0 Kudos