【问题标题】:Qt5 MinGW undefined reference to ConvertStringToBSTRQt5 MinGW 未定义对 ConvertStringToBSTR 的引用
【发布时间】:2018-07-16 14:02:37
【问题描述】:

我的链接错误:

Qt\Tools\mingw530_32\i686-w64-mingw32\include\comutil.h:278: erreur : undefined reference to `_com_util::ConvertStringToBSTR(char const*)@4'

其实在.pro文件中:

LIBS += -lws2_32 -lwbemuuid -lole32

要添加哪个库?库comsuppw? mingw可以用吗?

Qt 5.10 - mingw32

【问题讨论】:

    标签: qt5 mingw bstr


    【解决方案1】:

    问题是由于函数 bstr_t() 在:

    hres = pSvc->ExecQuery(
    bstr_t("WQL"),
    bstr_t("SELECT * FROM Win32_Process"), 
    WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, 
    NULL, 
    &pEnumerator);
    

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

    BSTR bstr_wql = SysAllocString(L"WQL" );
    BSTR bstr_sql = SysAllocString(L"SELECT * FROM Win32_Process" ); 
    

    然后使用它们,

    hres = pSvc->ExecQuery(bstr_wql, bstr_sql, ...);
    

    不要忘记在查询后释放分配的内存字符串:

    SysFreeString(bstr_wql);
    SysFreeString(bstr_sql);
    

    链接器满意。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多