[Interest] Qt5.5, VS2013 chain, compile warnings and linking errors

Jason Kretzer Jason at gocodigo.com
Mon Sep 14 17:58:37 CEST 2015

I have been searching for an answer to this but no luck as yet.

Using Qt5.5 32bit, VS2013 on Win8 64bit

My .pro file contains this:
INCLUDEPATH += "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include"
LIBS += -L"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib" -ladvapi32

I have checked both folders and WinUser.h is in the Include and User32.lib is present in the Lib.

I have the following two functions in my code:
void suppressAnimations()
    ANIMATIONINFO m_original_settings;
    m_original_settings.cbSize = sizeof(m_original_settings);
    if (::SystemParametersInfo(SPI_GETANIMATION, sizeof(m_original_settings), &m_original_settings, 0)) {
        ANIMATIONINFO no_animation = { sizeof(no_animation), 0 };
        ::SystemParametersInfo(SPI_SETANIMATION, sizeof(no_animation), &no_animation, SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);


int BackgroundTaskManager::changeMonitorState(bool turnOn)
    int lparam = 2;
    if(turnOn) {
        lparam = -1;
        BackgroundTaskManager::MonitorIsSleeping = false;
    } else {
        lparam = 2;
        BackgroundTaskManager::MonitorIsSleeping = true;

I use this exact same code with Qt 5.3.2 32bit VS2010 on Windows 7 64bit and it compiles with no problems.  In my current configuration, I get linking errors on the ::SystemParametersInfo and the SendMessage parts of the functions and a bunch of warnings on the  headers.
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\sal_supp.h:57: warning: C4005: '__useHeader' : macro redefinition
Linking Errors
main.obj:-1: error: LNK2019: unresolved external symbol __imp__SystemParametersInfoW at 16 referenced in function "void __cdecl suppressAnimations(void)" (?suppressAnimations@@YAXXZ)
backgroundtaskmanager.obj:-1: error: LNK2019: unresolved external symbol __imp__SendMessageW at 16 referenced in function "private: int __thiscall BackgroundTaskManager::changeMonitorState(bool)" (?changeMonitorState at BackgroundTaskManager@@AAEH_N at Z)

Another bit of information, I tried this also using Qt5.5 32bit VS2013 on Win7 64bit and also received the errors as above.  Yet another bit of information, in Qt Creator, I can press F2 over either of the symbols above and it takes me to the correct header.

Could someone point me in the correct direction?


   Jason R. Kretzer
   Lead Application Developer
   Jason at gocodigo.com<mailto:Jason at gocodigo.com>

“quidquid latine dictum sit altum videtur"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150914/fc65f69c/attachment.html>

More information about the Interest mailing list