首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中使用shell32

在C++中使用shell32
EN

Stack Overflow用户
提问于 2014-01-13 01:56:28
回答 1查看 1.1K关注 0票数 0

我正在尝试使用一些使用IID_IShellDispatchCLSID_Shell常量的代码。

我的内容包括:

代码语言:javascript
复制
#include <Windows.h>
#include <WinDef.h>
#include <Shellapi.h>
#include <iostream>
#include <string>
#include <ShlDisp.h>
#include <Shlobj.h>

代码:

代码语言:javascript
复制
    BSTR source = SysAllocString(input.toStdWString().c_str());
    BSTR dest = SysAllocString(outputDirectory.toStdWString().c_str());
    HRESULT result;
    IShellDispatch *pISD;
    Folder *folder = NULL;
    VARIANT vDir, vFile, vOpt;

    CoInitialize(NULL);

    result = CoCreateInstance(CLSID_Shell, NULL, CLSCTX_INPROC_SERVER, IID_IShellDispatch, (void **)&pISD);
    ...

上面的最后一行抛出有关对CLSID_Shell和IID_IShellDispatch的引用未定义的错误

代码是Qt项目的一部分,所以我使用了一个Qt项目文件(用于qmake),并且我已经将-lshell32添加到它的LIBS部分:

代码语言:javascript
复制
LIBS += -lshell32 -loleaut32 -lole32

执行的命令为

代码语言:javascript
复制
g++ -Wl,-subsystem,windows -mthreads -o debug\wallch.exe object_script.wallch.Debug  -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 -lqtmaind -lshell32 -loleaut32 -lole32 -LC:\Qt\Qt5.2.0\5.2.0\mingw48_32\lib -lQt5Widgetsd -lQt5Networkd -lQt5Guid -lQt5Cored

在win7上使用MinGW

EN

回答 1

Stack Overflow用户

发布于 2014-01-15 00:40:53

我不得不下载windows SDK并将其添加到我的选项中,如下所示:

代码语言:javascript
复制
LIBS += -L"C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib" -loleaut32 -lshell32 -luuid -lole32
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21078204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档