`fopen` не работает на Windows Server, но работает на Windows 7 после обновления до Visual Studio 2015

У нас есть смешанный проект Java / JRuby, в котором используется C ++ — DLL, разработанная в Microsoft Visual Studio. Недавно поставщик этой DLL обновил свою среду разработки до Visual Studio 2015 professional. Это потребовало установки новых библиотек времени выполнения (vcredist_x86.exe) на наших компьютерах (которые работают в Windows 7). После того, как мы это сделали, все заработало как положено.

Однако мы также используем сервер (Microsoft Windows Server 2003 R2 Standard Edition с пакетом обновления 2) для запуска регрессионных тестов. Я установил новые библиотеки времени выполнения, и DLL загружена. Но когда программа запускается, мы получаем fopen ошибка, когда DLL пытается загрузить определенный файл. errno дает 2 (ENOENT в соответствии с errno.h). Файл присутствует, DLL пытается загрузить его, используя относительный путь. Это не первый файл, который открывается через fopenи доступ к другим файлам, кажется, работает.

У меня нет доступа к источнику и я не могу отладить на сервере, и разработчики DLL не могут воспроизвести проблему.

Кто-нибудь сталкивался с подобной проблемой на Windows Server после обновления до Visual Studio 2015? И если да, то как ты решил это?

0

Решение

Поставщик DLL, вероятно, использовал набор инструментов по умолчанию v140, который не совместим с Server 2003. Если вы используете Server 2008 для тестов, я подозреваю, что у вас все будет хорошо. Или, если они могут использовать набор инструментов v140_xp, я подозреваю, что у вас все будет хорошо. Эта опция здесь: Свойства конфигурации -> Общие -> Набор инструментов платформы

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]