首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Qt5 MinGW未定义对ConvertStringToBSTR的引用

Qt5 MinGW未定义对ConvertStringToBSTR的引用
EN

Stack Overflow用户
提问于 2018-07-16 22:02:37
回答 1查看 861关注 0票数 3

我的链接错误:

Qt\Tools\mingw530_32\i686-w64-mingw32\include\comutil.h:278:

错误:未定义对`_com_util::ConvertStringToBSTR(char const*)@4‘的引用

实际上在.pro文件中:

代码语言:javascript
运行
复制
LIBS += -lws2_32 -lwbemuuid -lole32

要添加哪个库?lib comsuppw?它可以在mingw上使用吗?

Qt 5.10 - mingw32

EN

回答 1

Stack Overflow用户

发布于 2018-07-18 18:02:46

该问题是由于中的函数bstr_t()造成的:

代码语言:javascript
运行
复制
hres = pSvc->ExecQuery(
bstr_t("WQL"),
bstr_t("SELECT * FROM Win32_Process"), 
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
NULL, 
&pEnumerator);

解决方案是直接创建BSTR字符串:

代码语言:javascript
运行
复制
BSTR bstr_wql = SysAllocString(L"WQL" );
BSTR bstr_sql = SysAllocString(L"SELECT * FROM Win32_Process" ); 

然后使用它们,

代码语言:javascript
运行
复制
hres = pSvc->ExecQuery(bstr_wql, bstr_sql, ...);

别忘了在查询后释放分配的内存字符串:

代码语言:javascript
运行
复制
SysFreeString(bstr_wql);
SysFreeString(bstr_sql);

链接器满意了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51363689

复制
相关文章

相似问题

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