2015-09-14 44 views
0

我一直在寻找答案,但没有运气。链接问题:Qt5.5 32位VS2013

上Win8的64位使用Qt5.5 32位,VS2013

我.pro文件包含此:

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

我已签文件夹和WINUSER.H是包括和USER32.LIB是目前在Lib中。

我在我的代码如下两个功能:

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; 
    } 
    return SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM)lparam); 
} 

我使用完全相同的代码在Windows 7 64位的Qt 5.3.2 32位VS2010,并与编译没问题。在我目前的配置中,我在函数的:: SystemParametersInfo和SendMessage部分以及标题上的一堆警告上出现链接错误。

警告

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include\sal_supp.h:57: warning: C4005: '__useHeader' : macro redefinition 

链接错误

main.obj:-1: error: LNK2019: unresolved external symbol [email protected] referenced in function "void __cdecl suppressAnimations(void)" ([email protected]@YAXXZ) 
backgroundtaskmanager.obj:-1: error: LNK2019: unresolved external symbol [email protected] referenced in function "private: int __thiscall BackgroundTaskManager::changeMonitorState(bool)" ([email protected]@@[email protected]) 

的信息的另一种位,我想这也采用32位Qt5.5上VS2013 Win7的64位,并且还接收到与上述错误。在Qt Creator中还有一点信息,我可以在上面的任何一个符号上按F2,它会把我带到正确的头部。

难道有人指出我正确的方向吗?

回答

0

我知道这是一些简单:

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

我没有链接USER32.LIB。