开发者

Compiling a C++ application on Windows 7, but execute it on Win2003 Server

开发者 https://www.devze.com 2022-12-31 21:30 出处:网络
I have a C++ application (quite complex, multiple projects) in Visual Studio 2008, that produces a single dll. Recently I switched to Windows 7, but had previously been compiling under Windows XP. Sud

I have a C++ application (quite complex, multiple projects) in Visual Studio 2008, that produces a single dll. Recently I switched to Windows 7, but had previously been compiling under Windows XP. Suddenly the dll in question cannot be loaded by another application, i.e. on a machine running Windows 2003 Server.

I've been trying various things:

  • I've installed the VC9.0 redistributable package on the server
  • Also copied various .dll's from that package to the application folder
  • The project is of course compiled in release mode

When I run depends.exe on the client machine, I do get the following error:

"Error: The Side-by-Side configuration information for "my_dll.dll" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001). Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module."

and the icon for shlwapi.dll has a red overlay icon.

This didn开发者_如何学编程't happen when I was compiling under WinXP, so I'm guessing that there really is no problem with the .dll's on the client machine, but somewhere there is a reference to that particular version of some dll.

Does anyone know what would be the best way to resolve this?

Regards, Daníel


OK I found it, and it turns out to be the same problem as described here:

vcredist_x86.dll and version 8.0.50727.4053

I had to compare the resources of the old binary with the new one, to notice the difference.

0

精彩评论

暂无评论...
验证码 换一张
取 消