gpt4 book ai didi

c++ - Qt:windows函数是未解析的外部符号

转载 作者:可可西里 更新时间:2023-11-01 13:50:50 25 4
gpt4 key购买 nike

我正在尝试在 QtCreator 中使用 te WinAPI 编译一个简单的类似 helloworld 的非 Qt C++ 应用程序。这是代码:

#include <windows.h>

int main()
{
HWND cons = GetConsoleWindow();
SetWindowText(cons, L"I am the console window");
MessageBox(cons, L"Hello world!", L"I am the MessageBox", MB_OK | MB_ICONERROR);
return 0;
}

看起来很简单,但是当我尝试构建它时,编译失败了:

main.obj:-1: error: LNK2019: unresolved external symbol __imp__MessageBoxW@16 referenced in function _main
main.obj:-1: error: LNK2019: unresolved external symbol __imp__SetWindowTextW@8 referenced in function _main

我开始寻找,我找到了this ,但这对我一点帮助都没有,因为当我写下这段话时:

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

甚至这个:

LIBS += -L"C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\Lib\\shell32.lib"

在我的 .pro 中,这些“符号”仍未解决。 每次更改 .pro 文件内容后,我都运行了 qmake。那么,有什么想法吗?

最佳答案

-L 设置 DLL 的搜索路径,但实际上并不链接任何内容。实际链接是通过 -l 完成的。不必为系统库设置搜索路径,但您需要链接到 user32:

win32:LIBS += -luser32

关于c++ - Qt:windows函数是未解析的外部符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19569028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com