We have a mixed Java/JRuby project that uses a C++-DLL developped in Microsoft Visual Studio. Recently, the supplier of this DLL upgraded their development environment to Visual Studio 2015 professional. This required installation of the new runtime libraries (vcredist_x86.exe) on our machines (which are running on Windows 7). After we did this, everything worked as expected.
However, we also use a server (Microsoft Windows Server 2003 R2 Standard Edition Service Pack 2) to run regression tests. I installed the new runtime libraries, and the DLL is loaded. But when the program is run, we get an fopen
error when the DLL tries to load a certain file. errno
gives 2 (ENOENT
according to errno.h
). The file is present, the DLL tries to load it using a relative path. It is not the first file that is opened via fopen
, and access to the other files seems to work.
I do not have access to the source and cannot debug on the server and the developers of the DLL cannot reproduce the problem.
Has anyone experienced a similar problem on Windows Server after updating to Visual Studio 2015? And if so, how did you solve it?
The supplier of the DLL probably used the default toolset v140 which is not compatible with Server 2003. If you use Server 2008 for tests I suspect you'll be fine. Or if they are able to use the v140_xp toolset I suspect you'll be fine. That option is here: Configuration Properties -> General -> Platform Toolset