[Interest] Running Qt 5 Application on WinXP

Ian Monroe ian at monroe.nu
Tue Jul 8 19:54:13 CEST 2014


On Tue, Jul 8, 2014 at 10:24 AM, Duane <duane.hebert at group-upc.com> wrote:
> I have an application built with VS 2012 (with the tool chain XP
> support) using Qt 5.3.  It runs fine on Windows 7 and 8.
>
> When I try to run it on a box with WinXP I get the error "Procedure
> entry point GetTickCount64 could not be loaded in KERNEL32.DL"
>
> Any suggestions?

And you aren't calling this function yourself?

ian at togarashi:~/srcs/qt-everywhere-opensource-src-5.3.1> grep -R
GetTickCount64 .
./qtbase/src/3rdparty/sqlite/sqlite3.c:  { "GetTickCount64",
(SYSCALL)GetTickCount64,          0 },
./qtbase/src/3rdparty/sqlite/sqlite3.c:  { "GetTickCount64",
(SYSCALL)0,                       0 },
./qtbase/src/3rdparty/sqlite/sqlite3.c:#define osGetTickCount64
((ULONGLONG(WINAPI*)(VOID))aSyscall[70].pCurrent)
./qtbase/src/3rdparty/sqlite/sqlite3.c:    ULONGLONG cnt = osGetTickCount64();
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:typedef ULONGLONG
(WINAPI *PtrGetTickCount64)(void);
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    static const
PtrGetTickCount64 ptrGetTickCount64 = &GetTickCount64;
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    static
PtrGetTickCount64 ptrGetTickCount64 = 0;
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    // try to get
GetTickCount64 from the system
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    ptrGetTickCount64
= (PtrGetTickCount64)GetProcAddress(kernel32, L"GetTickCount64");
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    ptrGetTickCount64
= (PtrGetTickCount64)GetProcAddress(kernel32, "GetTickCount64");
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    if (ptrGetTickCount64)
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:        return
ptrGetTickCount64();
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    //
ptrGetTickCount64 is always set on WinRT but GetTickCount is not
available
./qtbase/src/corelib/tools/qelapsedtimer_win.cpp:    return ptrGetTickCount64();
./qtsensors/src/plugins/sensors/dummy/dummycommon.cpp:    return
GetTickCount64();


It looks like QElaspedTimer uses it, but in a manner that falls back
to GetTickCount when it isn't available. Do you use the dummy sensor
plugin? ;)

Ian



More information about the Interest mailing list