【问题标题】:LNK2001: unresolved external symbol "public: virtual long __stdcall CTProcessus::InitLNK2001:未解析的外部符号“公共:虚拟长 __stdcall CTProcessus::Init
【发布时间】:2014-05-20 00:50:54
【问题描述】:

请问我该如何解决这个错误?

错误:

LNK2001:未解析的外部符号“public: virtual long __stdcall CTProcessus::Init(class ATL::CStringT >>,wchar_t *,wchar_t *,wchar_t *)”

代码:

STDMETHODIMP CTProcessus::Init(BSTR bstrConnectionString, BSTR nomPosteResponsable, BSTR domaine, BSTR DNS)
{
    m_csConnectionString = (LPCTSTR)bstrConnectionString;
    m_bstrNomPosteResponsable = nomPosteResponsable;
    m_bstrDomaine = domaine;
    m_bstrDNS = DNS;

    m_varNomPosteResponsable = (_variant_t)m_bstrNomPosteResponsable;
    m_varDomaine = (_variant_t)m_bstrDomaine;
    m_varDNS = (_variant_t)m_bstrDNS;

    return S_OK;
}

非常感谢!

【问题讨论】:

  • 您是否正确复制粘贴了错误消息?那里似乎有一些不匹配的>s。我对COM了解不多,但链接器抱怨的功能似乎不是您发布的功能。前者采用 CString 后跟 3 个 wchar_t * 参数,而您发布的函数采用 4 BSTR 参数。

标签: c++ mfc atl cstring


【解决方案1】:

由于您的代码能够成功编译,这意味着您在头文件中具有正确的函数签名。但是你的 .cpp 文件没有定义这个函数。 也有可能您的 .cpp 文件根本没有被编译并且 .obj 文件没有被生成。

【讨论】:

    猜你喜欢
    • 2016-03-21
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-08
    相关资源
    最近更新 更多