【问题标题】:Cannot link to WinApi in Qt Console application [duplicate]无法在 Qt 控制台应用程序中链接到 WinApi [重复]
【发布时间】:2017-07-10 08:30:57
【问题描述】:

我试图在 Qt 项目中从 WinApi 访问某些功能,但没有成功。 代码如下:

#include <QCoreApplication>

#include <iostream>
#include <string>
#include <stdio.h>
#include <windows.h>

using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

        char title[1024];
        HWND hwndHandle = GetForegroundWindow();
        GetWindowText(hwndHandle, (LPWSTR)title, 1023);

    return a.exec();
}

这些是我得到的错误:

main.obj:-1: error: LNK2019: unresolved external symbol __imp__GetWindowTextW@12 在函数 _main 中引用

main.obj:-1: error: LNK2019: unresolved external symbol __imp__GetForegroundWindow@0 在函数 _main 中引用

我应该在 pro 文件中包含任何库来完成这项工作吗?

【问题讨论】:

  • 我认为您必须链接到 User32.lib 才能使用这些功能。
  • 它有效。谢谢你。添加您的答案,以便我标记它。
  • 使用明显的关键字进行简单的网络搜索会多次显示这是一个骗局。遇到困难时不要忽视基础研究。
  • @Mihai,已经有答案了,所以重复两次没有意义。

标签: windows qt winapi


【解决方案1】:

根据库 User32 中的MSDN documentation 那些函数。所以你必须添加

LIBS += -luser32 

在专业文件中。

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    • 2011-09-08
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多