Reputation: 1759
Hello all i have created an application in VS 2008 using QT plugin & its is working fine in all the windows systems. But when I try to run the same application in XP it is showing error :: Procedure entry point xxx could not be located in xxx.dll .
How can I solve this problem.
Upvotes: 2
Views: 1639
Reputation: 340436
I think you need to install the VS 2008 runtime on the XP system. You can do that several ways, including:
C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\vcredist_x86\vcredist_x86.exe
)C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT
into the same directory as your executable.Your program seems to be having a problem resolving a reference that's being looked for in msvcrt.dll - a system DLL that is not directly part of the VS 2008 runtime (msvcrt90.dll). I tested some of the Qt demos in VS 2008 with the Qt addin, and I don't see them directly linking to msvcrt.dll (as I expect, the programs link to msvcr90.dll).
However, when I look at the programs using Dependency Walker (http://www.dependencywalker.com/), I do see that msvcrt.dll
is pulled in - a result of linking to advapi32.dll
(on my WinXP system, the link to msvcrt.dll
is indirect though netapi32.dll
). The copy of msvcrt.dll
on my WinXP SP3 system doesn't have an export for wcscpy_s
while the one on Win7 does. But nothing using msvcrt.dll
on WinXP attempts to import wcscpy_s
, so there's no problem that it's not exported.
I suggest you use something like Dependency Walker (http://www.dependencywalker.com/) to find out what's trying to pull in the missing wcscpy_s
symbol from msvcrt.dll
. I think that chances are good that you have a DLL that doesn't belong on WinXP or should be rebuilt to be 'XP-compatible'.
Upvotes: 2