1

I have a program written in C++ using VS2012 and Qt. When I try to run the program on XP, I get an error saying:

The procedure entry point GetTickCount64 could not be located in the dynamic link library KERNEL32.dll

I have the Visual Studio update that allows you to target Win XP, and I have the configuration set to target Win XP in the project configuration settings.

I am not using GetTickCount or GetTickCount64 anywhere in my code. Is there a way to see what part of the code is requiring this as a dependency? I have Dependency Walker and it shows up in the list, but that only tells me that it is required, not what is including it.

Some other sites I've looked at say it is a problem with declaring the Windows version in Visual Studio, but I set the platform toolset to the Win XP version in configuration properties. Is there something I'm missing?

Paul Musgrave
  • 181
  • 1
  • 7
  • GetTickCount64() is used by the VS2012 C runtime library. The rough diagnostic is that you copied the wrong version of msvcr110.dll to the target machine. You need the version that is included with Update 1 or later. – Hans Passant Feb 10 '14 at 21:40
  • I thought this would have solved it for sure because I was using old dll's that I copied to the build directory, but I copied the post-update dll's and it was a no go. Same error. – Paul Musgrave Feb 10 '14 at 22:11
  • Does this help? http://stackoverflow.com/questions/15453629/use-visual-studio-2012-and-compile-with-older-platform-toolset I use VS 2013, and you need to either have earlier versions of VS installed, or earlier versions of the Platform SDK installed for the option of choosing an earlier version of the toolkit to work. – PaulMcKenzie Feb 10 '14 at 22:26
  • I don't think so. According to this, http://blogs.msdn.com/b/vcblog/archive/2012/10/08/10357555.aspx , I'm not trying to use an earlier version of the toolkit, I'm just trying to use the 2012 version that can target XP. – Paul Musgrave Feb 10 '14 at 22:39

0 Answers0