#包括<;comutil.h>;引起错误 VS 2010 C++ CLR库项目,添加CUMUTIL .H库的错误 > Error 20 error LNK2001: unresolved > external symbol "extern "C" long > __stdcall VariantCopy(struct tagVARIANT *,struct tagVARIANT const > *)" (?VariantCopy@@$$J18YGJPAUtagVARIANT@@PBU1@@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 *)" > (?VariantInit@@$$J14YGXPAUtagVARIANT@@@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)" (?_com_issue_error@@$$FYGXJ@Z) D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET > Error 10 error LNK2028: unresolved > token (0A000376) "void __stdcall > _com_issue_error(long)" (?_com_issue_error@@$$FYGXJ@Z) > referenced in function "void __cdecl > _com_util::CheckError(long)" (?CheckError@_com_util@@$$FYAXJ@Z) 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 *)" > (?VariantInit@@$$J14YGXPAUtagVARIANT@@@Z) > referenced in function "public: > __thiscall _variant_t::_variant_t(class _variant_t const &)" (??0_variant_t@@$$FQAE@ABV0@@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 > *)" (?VariantCopy@@$$J18YGJPAUtagVARIANT@@PBU1@@Z) > referenced in function "public: > __thiscall _variant_t::_variant_t(class _variant_t const &)" (??0_variant_t@@$$FQAE@ABV0@@Z) D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET
需要#包括<;comutil.h>;引起错误 VS 2010 C++ CLR库项目,添加CUMUTIL .H库的错误 > Error 20 error LNK2001: unresolved > external symbol "extern "C" long > __stdcall VariantCopy(struct tagVARIANT *,struct tagVARIANT const > *)" (?VariantCopy@@$$J18YGJPAUtagVARIANT@@PBU1@@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 *)" > (?VariantInit@@$$J14YGXPAUtagVARIANT@@@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)" (?_com_issue_error@@$$FYGXJ@Z) D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET > Error 10 error LNK2028: unresolved > token (0A000376) "void __stdcall > _com_issue_error(long)" (?_com_issue_error@@$$FYGXJ@Z) > referenced in function "void __cdecl > _com_util::CheckError(long)" (?CheckError@_com_util@@$$FYAXJ@Z) 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 *)" > (?VariantInit@@$$J14YGXPAUtagVARIANT@@@Z) > referenced in function "public: > __thiscall _variant_t::_variant_t(class _variant_t const &)" (??0_variant_t@@$$FQAE@ABV0@@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 > *)" (?VariantCopy@@$$J18YGJPAUtagVARIANT@@PBU1@@Z) > referenced in function "public: > __thiscall _variant_t::_variant_t(class _variant_t const &)" (??0_variant_t@@$$FQAE@ABV0@@Z) D:\Projects\AL\Service\ncFlow\ncOPClient.NET\Stdafx.obj ncOPClient.NET,c++,clr,C++,Clr,需要 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&a
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;
}*/
private:
std::来自变量的字符串(变量和vt)
{
_bstr_t bs(悉尼威立雅运输公司);
返回标准::字符串(静态_转换(bs));
}
/*
void to_variant(const std::string&str,variant&vt)
{
_bstr_t bs(str.c_str());
重新解释铸造(vt)=bs;
}*/
我怎样才能修好它 根据文档添加必要的导入库,可能是
Oleaut32.lib
编辑:我假设这个库包含了这个,Alex的答案将是首选库。根据MSDN,
需要comsuppw.lib。将此库添加到链接器依赖项列表。尝试包括comdef.h,但不包括comutil.h宽字符版本?你不需要摆弄链接器的设置<代码>#包含就足够了;它将根据是否定义了\u DEBUG
,通过#pragma comment(lib…)
发出正确的链接器设置。。。。并选择是否将WChar_t视为内置类型。优秀的奥术知识。你救了我的命(我用的是comip.h)。非常感谢。因为comdef.h
包含了类似#pragma comment(lib,“comsuppw.lib”)
的杂注。另一方面,comutil.h
不包含。这实际上是需要包含哪个库的正确答案+1.