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

Gunnar Roth gunnar.roth at gmx.de
Mon Sep 14 19:07:02 CEST 2015


I hardy believe Windows v7.1A sdk is going to work with VS2013.
AFAIK VS 2013 RTM includes the Windows Software Development Kit (SDK) forWindows 8.1

Why don’t you just remove the old sdks patches from your .pro file and retry?


regards,
Gunnar Roth

> Am 14.09.2015 um 17:58 schrieb Jason Kretzer <Jason at gocodigo.com>:
> 
> 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);
>     }
> }
> 
> AND
> 
> int BackgroundTaskManager::changeMonitorState(bool turnOn)
> {
>     int lparam = 2;
>     if(turnOn) {
>         lparam = -1;
>         BackgroundTaskManager::MonitorIsSleeping = false;
>     } else {
>         lparam = 2;
>         BackgroundTaskManager::MonitorIsSleeping = true;
>     }
>     return SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM)lparam);
> }
> 
> 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.
> Warnings
> 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
> 
> //------------------------------//
>    Jason R. Kretzer
>    Lead Application Developer
>    Jason at gocodigo.com <mailto:Jason at gocodigo.com>
> //------------------------------//
> 
> “quidquid latine dictum sit altum videtur"
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20150914/8410f143/attachment.html>


More information about the Interest mailing list