Подтвердить что ты не робот

#include <comutil.h> вызывать ошибки

Проект библиотеки CLR на Visual С++ 2010 года, ошибки при добавлении библиотеки comutil.h

> Error 20  error LNK2001: unresolved
> external symbol "extern "C" long
> __stdcall VariantCopy(struct tagVARIANT *,struct tagVARIANT const
> *)" ([email protected]@[email protected]@[email protected]@Z)    D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET
> Error 18  error LNK2001: unresolved
> external symbol "extern "C" void
> __stdcall VariantInit(struct tagVARIANT *)"
> ([email protected]@[email protected]@@Z) D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET
> Error 13  error LNK2001: unresolved
> external symbol "void __stdcall
> _com_issue_error(long)" ([email protected]@[email protected])    D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET
> Error 10  error LNK2028: unresolved
> token (0A000376) "void __stdcall
> _com_issue_error(long)" ([email protected]@[email protected])
> referenced in function "void __cdecl
> _com_util::CheckError(long)" ([email protected][email protected]@[email protected])   D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET
> Error 4   error LNK2028: unresolved
> token (0A0003BC) "extern "C" void
> __stdcall VariantInit(struct tagVARIANT *)"
> ([email protected]@[email protected]@@Z)
> referenced in function "public:
> __thiscall _variant_t::_variant_t(class _variant_t const &)" ([email protected]@[email protected]@@Z)  D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET
> Error 2   error LNK2028: unresolved
> token (0A0003D1) "extern "C" long
> __stdcall VariantCopy(struct tagVARIANT *,struct tagVARIANT const
> *)" ([email protected]@[email protected]@[email protected]@Z)
> referenced in function "public:
> __thiscall _variant_t::_variant_t(class _variant_t const &)" ([email protected]@[email protected]@@Z)  D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET

необходимый для

private:
        std::string from_variant(VARIANT& vt)
        {
            _bstr_t bs(vt);
            return std::string(static_cast<const char*>(bs));
        }
        /*
        void to_variant(const std::string& str, VARIANT& vt)
        {
            _bstr_t bs(str.c_str());
            reinterpret_cast<_variant_t&>(vt) = bs;
        }*/

как я могу это исправить?

4b9b3361

Ответ 1

Согласно MSDN, _bstr_t требует comsuppw.lib. Добавьте эту библиотеку в список зависимостей компоновщика.

Ответ 2

попробуйте включить comdef.h, не включайте comutil.h