Компилируем приложение C ++ в Windows 7, но выполняем его на Win2003 Server - PullRequest
1 голос
/ 20 мая 2010

У меня есть приложение C ++ (довольно сложное, несколько проектов) в Visual Studio 2008, которое создает одну DLL. Недавно я перешел на Windows 7, но ранее компилировал под Windows XP. Внезапно указанная dll не может быть загружена другим приложением, то есть на машине под управлением Windows 2003 Server.

Я пробовал разные вещи:

  • Я установил распространяемый пакет VC9.0 на сервер
  • Также скопировал различные .dll из этого пакета в папку приложения
  • Проект, конечно, скомпилирован в режиме релиза

Когда я запускаю depen.exe на клиентском компьютере, я получаю следующую ошибку:

«Ошибка: в информации о конфигурации« бок о бок »для« my_dll.dll »содержатся ошибки. Это приложение не удалось запустить из-за неправильной конфигурации приложения. Повторная установка приложения может решить эту проблему (14001). Предупреждение. По крайней мере один модуль имеет неразрешенный импорт из-за отсутствия функции экспорта в модуле, зависящем от задержки и загрузки. "

и значок shlwapi.dll имеет красный значок наложения.

Этого не произошло, когда я компилировал под WinXP, поэтому я предполагаю, что действительно нет проблем с .dll на клиентском компьютере, но где-то есть ссылка на эту конкретную версию некоторой dll.

Кто-нибудь знает, как лучше решить эту проблему?

С уважением, DANIEL

1 Ответ

1 голос
/ 21 мая 2010

ОК, я нашел его, и оказалось, что это та же проблема, что и здесь:

vcredist_x86.dll и версия 8.0.50727.4053

Мне пришлось сравнить ресурсы старого двоичного файла с новым, чтобы заметить разницу.

...