繁体   English   中英

链接问题:Qt5.5 32位VS2013

[英]Linking problems: Qt5.5 32bit 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在Include中,而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 64bit上使用了与Qt 5.3.2 32bit 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 __imp__SystemParametersInfoW@16 referenced in function "void __cdecl suppressAnimations(void)" (?suppressAnimations@@YAXXZ)
backgroundtaskmanager.obj:-1: error: LNK2019: unresolved external symbol __imp__SendMessageW@16 referenced in function "private: int __thiscall BackgroundTaskManager::changeMonitorState(bool)" (?changeMonitorState@BackgroundTaskManager@@AAEH_N@Z)

另外一点信息,我也在Win7 64位上使用Qt5.5 32位VS2013进行了尝试,并且收到了上述错误。 还有一点信息,在Qt Creator中,我可以按F2上方的任一符号,然后转到正确的标题。

有人可以指出我正确的方向吗?

我知道这很简单:

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

我没有链接user32.lib。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM