Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Bob_W_1
Beginner
50 Views

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 https://software.intel.com/en-us/articles/linking-applications-using-visual-studio-2012-to-run-on-wi...; 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
mecej4
Black Belt
50 Views

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?

Reply