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

Jason Kretzer Jason at gocodigo.com
Mon Sep 14 21:26:51 CEST 2015

My apologies but the answer was a simple one:

LIBS += -L"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib" -ladvapi32 -luser32

I completely forgot to link the user32.lib.

From: Jason Kretzer
Sent: Monday, September 14, 2015 11:59 AM
To: interest at qt-project.org
Subject: Qt5.5, VS2013 chain, compile warnings and linking errors

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/54223c35/attachment.html>

More information about the Interest mailing list