尝试为VSS SDK编译C++项目时出现此链接器错误

Error   1   error LNK2019: unresolved external symbol "long __stdcall ShouldBlockRevert(wchar_t const *,bool *)" (?ShouldBlockRevert@@YGJPB_WPA_N@Z) referenced in function "public: void __thiscall VssClient::RevertToSnapshot(struct _GUID)" (?RevertToSnapshot@VssClient@@QAEXU_GUID@@@Z)   revert.obj  vshadow

ShouldBlockRevert使用两次,一次在顶部声明,一次在实际使用。

在这里声明:
HRESULT APIENTRY ShouldBlockRevert(IN LPCWSTR wszVolumeName, OUT bool* pbBlock);

并在这里使用:
CHECK_COM(::ShouldBlockRevert(Snap.m_pwszOriginalVolumeName, &bBlock));
    if (bBlock)
    {
        ft.WriteLine(L"Revert is disabled on the volume %s because of writers",
                Snap.m_pwszOriginalVolumeName);
        return;
    }

抱歉,我对c++不太满意。

最佳答案

根据this博客文章:

关于c++ - 编译vshadow时出现链接器错误,这是Volume Shadow Copy Service SDK的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/717759/

10-10 16:07