Axel
Axel

Reputation: 14169

`fopen` fails on Windows Server but works on Windows 7 after upgrading to Visual Studio 2015

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?

Upvotes: 0

Views: 287

Answers (1)

mark
mark

Reputation: 5469

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

Upvotes: 0

Related Questions