gpt4 book ai didi

c++ - Qt 中许多 Windows 函数的未解决链接器错误

转载 作者:可可西里 更新时间:2023-11-01 11:55:06 24 4
gpt4 key购买 nike

在 Qt 中,许多 Windows 函数(例如 SHGetKnownFolderPath)出现 Unresolved 链接器错误

#include "pip.h"
#include "ui_pip.h"
#include <QFileDialog>
#include <QMessageBox>
#include <Objbase.h>
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <algorithm>
#include <QtNetwork/QHostAddress>
#include <shlobj.h>
#include <windows.h>
#include <Shlwapi.h>
#include <Knownfolders.h>

功能:

PWSTR appData = 0;

if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_Desktop,
0,
NULL,
&appData)))
{
wcout << appData << endl;
}

链接器错误:

pip.obj : error LNK2019: unresolved external symbol _SHGetKnownFolderPath@16 
referenced in function "private: void __thiscall pip::on_submitButton_clicked(void)"
(?on_submitButton_clicked@pip@@AAEXXZ)

我是否需要告诉 QT Shell32.dll 库在哪里或 shlobj.h 的什么地方?

最佳答案

您必须将您的项目链接到实现该符号的 (shell32.lib)!

您应该在 .PRO 文件中添加如下内容:

LIBS += -L"C:\\Path\\Microsoft SDK\\Windows\\v7.1\\Lib" -lshell32

关于c++ - Qt 中许多 Windows 函数的未解决链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19336325/

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