C++ 链接器在构建Vivek时出错';Windows 10上的虚拟摄像头?

C++ 链接器在构建Vivek时出错';Windows 10上的虚拟摄像头?,c++,dll,visual-studio-2019,directshow,device-driver,C++,Dll,Visual Studio 2019,Directshow,Device Driver,我正在尝试在Windows 10上构建。 为此我需要 我已经下载了基类,并使用Visual Studio 2019构建了它。 现在我准备构建虚拟相机过滤器。我采取了一些必要的步骤 git克隆https://github.com/roman380/tmhare.mvps.org-vcam cd tmhare.mvps.org vcam\Filters 然后我尝试在VisualStudio2019中打开过滤器.dsp,它要求我进行单向升级 在附加包含目录中添加了C:\Users\alokm\tmp

我正在尝试在Windows 10上构建。
为此我需要

我已经下载了
基类
,并使用Visual Studio 2019构建了它。
现在我准备构建虚拟相机过滤器。我采取了一些必要的步骤

  • git克隆https://github.com/roman380/tmhare.mvps.org-vcam
  • cd tmhare.mvps.org vcam\Filters
  • 然后我尝试在VisualStudio2019中打开
    过滤器.dsp
    ,它要求我进行
    单向升级

  • 附加包含目录中添加了
    C:\Users\alokm\tmp\Windows classic samples\samples\Win7Samples\multimedia\directshow\baseclasses
  • C:\Users\alokm\tmp\Windows classic samples\samples\Win7Samples\multimedia\directshow\baseclasses\Debug
    添加到
    添加库目录中

  • 在所有这些步骤之后,我试图通过点击
    build
    >
    构建解决方案来构建
    但是我收到了很多链接器错误。
  • 文本格式错误:

    Severity    Code    Description Project File    Line    Suppression State
    Error   LNK2001 unresolved external symbol _memcmp  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(combase.obj)   1   
    Error   LNK2001 unresolved external symbol _memcmp  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(mtype.obj) 1   
    Error   LNK2001 unresolved external symbol _memcmp  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(amfilter.obj)  1   
    Error   LNK2001 unresolved external symbol _memcmp  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\Filters.obj 1   
    Error   LNK2001 unresolved external symbol _memcmp  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(dllentry.obj)  1   
    Error   LNK2001 unresolved external symbol _memcmp  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxdebug.obj)   1   
    Error   LNK2001 unresolved external symbol _memcmp  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(amvideo.obj)   1   
    Error   LNK2019 unresolved external symbol _memset referenced in function "public: virtual long __thiscall CVCamStream::GetMediaType(int,class CMediaType *)" (?GetMediaType@CVCamStream@@UAEJHPAVCMediaType@@@Z)   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\Filters.obj 1   
    Error   LNK2001 unresolved external symbol _memset  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxdebug.obj)   1   
    Error   LNK2001 unresolved external symbol _memset  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(mtype.obj) 1   
    Error   LNK2001 unresolved external symbol _memset  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(amfilter.obj)  1   
    Error   LNK2019 unresolved external symbol __imp__rand referenced in function "public: virtual long __thiscall CVCamStream::FillBuffer(struct IMediaSample *)" (?FillBuffer@CVCamStream@@UAEJPAUIMediaSample@@@Z)   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\Filters.obj 1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(mtype.obj) 1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(amfilter.obj)  1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(source.obj)    1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxlist.obj)    1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\Filters.obj 1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxdebug.obj)   1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxutil.obj)    1   
    Error   LNK2001 unresolved external symbol ___CxxFrameHandler3  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(combase.obj)   1   
    Error   LNK2019 unresolved external symbol _wcsrchr referenced in function "wchar_t * __cdecl wcsrchr(wchar_t *,wchar_t)" (?wcsrchr@@YAPA_WPA_W_W@Z)    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(dllentry.obj)  1   
    Error   LNK2001 unresolved external symbol _wcsrchr Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxdebug.obj)   1   
    Error   LNK2019 unresolved external symbol __imp____stdio_common_vswprintf referenced in function __vsnwprintf_l    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(dllentry.obj)  1   
    Error   LNK2001 unresolved external symbol __imp____stdio_common_vswprintf  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxdebug.obj)   1   
    Error   LNK2001 unresolved external symbol __imp____stdio_common_vswprintf  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(dllsetup.obj)  1   
    Error   LNK2001 unresolved external symbol __imp____stdio_common_vswprintf  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxutil.obj)    1   
    Error   LNK2019 unresolved external symbol __imp____stdio_common_vsprintf referenced in function __vsnprintf_l  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxdebug.obj)   1   
    Error   LNK2019 unresolved external symbol _memcpy referenced in function _AMGetWideString@8    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(wxutil.obj)    1   
    Error   LNK2001 unresolved external symbol _memcpy  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(mtype.obj) 1   
    Error   LNK2001 unresolved external symbol _memcpy  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(amfilter.obj)  1   
    Error   LNK2001 unresolved external symbol _memcpy  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(source.obj)    1   
    Error   LNK2001 unresolved external symbol __purecall   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(amfilter.obj)  1   
    Error   LNK2001 unresolved external symbol __purecall   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(source.obj)    1   
    Error   LNK2019 unresolved external symbol __imp___wtoi referenced in function "public: virtual long __stdcall CSource::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CSource@@UAGJPB_WPAPAUIPin@@@Z) Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\strmbasd.lib(source.obj)    1   
    Error   LNK2019 unresolved external symbol __CrtDbgReport referenced in function __CRT_RTC_INIT Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(init.obj)   1   
    Error   LNK2019 unresolved external symbol __CrtDbgReportW referenced in function __CRT_RTC_INITW   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(init.obj)   1   
    Error   LNK2019 unresolved external symbol __callnewh referenced in function "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(new_scalar.obj) 1   
    Error   LNK2019 unresolved external symbol _malloc referenced in function "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(new_scalar.obj) 1   
    Error   LNK2019 unresolved external symbol _strcpy_s referenced in function "void __cdecl _RTC_StackFailure(void *,char const *)" (?_RTC_StackFailure@@YAXPAXPBD@Z) Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(error.obj)  1   
    Error   LNK2019 unresolved external symbol _strcat_s referenced in function "void __cdecl _RTC_StackFailure(void *,char const *)" (?_RTC_StackFailure@@YAXPAXPBD@Z) Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(error.obj)  1   
    Error   LNK2019 unresolved external symbol ___stdio_common_vsprintf_s referenced in function __vsprintf_s_l Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(error.obj)  1   
    Error   LNK2019 unresolved external symbol ___std_exception_copy referenced in function "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z)   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(throw_bad_alloc.obj)    1   
    Error   LNK2019 unresolved external symbol ___std_exception_destroy referenced in function "public: virtual __thiscall std::exception::~exception(void)" (??1exception@std@@UAE@XZ) Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(throw_bad_alloc.obj)    1   
    Error   LNK2019 unresolved external symbol __CxxThrowException@8 referenced in function "void __cdecl __scrt_throw_std_bad_alloc(void)" (?__scrt_throw_std_bad_alloc@@YAXXZ)    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(throw_bad_alloc.obj)    1   
    Error   LNK2019 unresolved external symbol __free_dbg referenced in function "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(delete_scalar.obj)  1   
    Error   LNK2019 unresolved external symbol __wmakepath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned int)" (?GetPdbDllPathFromFilePath@@YAHPB_WPA_WI@Z)    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(pdblkup.obj)    1   
    Error   LNK2019 unresolved external symbol __wsplitpath_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned int)" (?GetPdbDllPathFromFilePath@@YAHPB_WPA_WI@Z)   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(pdblkup.obj)    1   
    Error   LNK2019 unresolved external symbol _wcscpy_s referenced in function "int __cdecl GetPdbDllPathFromFilePath(wchar_t const *,wchar_t *,unsigned int)" (?GetPdbDllPathFromFilePath@@YAHPB_WPA_WI@Z)    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(pdblkup.obj)    1   
    Error   LNK2019 unresolved external symbol ___vcrt_GetModuleFileNameW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" (?GetPdbDll@@YAPAUHINSTANCE__@@XZ)  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(pdblkup.obj)    1   
    Error   LNK2019 unresolved external symbol ___vcrt_GetModuleHandleW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" (?GetPdbDll@@YAPAUHINSTANCE__@@XZ)    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(pdblkup.obj)    1   
    Error   LNK2019 unresolved external symbol ___vcrt_LoadLibraryExW referenced in function "struct HINSTANCE__ * __cdecl GetPdbDll(void)" (?GetPdbDll@@YAPAUHINSTANCE__@@XZ)  Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(pdblkup.obj)    1   
    Error   LNK2019 unresolved external symbol _terminate referenced in function __except_handler4_noexcept Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(chandler4_noexcept.obj) 1   
    Error   LNK2019 unresolved external symbol ___current_exception referenced in function __except_handler4_noexcept   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(chandler4_noexcept.obj) 1   
    Error   LNK2019 unresolved external symbol ___current_exception_context referenced in function __except_handler4_noexcept   Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(chandler4_noexcept.obj) 1   
    Error   LNK2019 unresolved external symbol __except_handler4_common referenced in function __except_handler4    Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Filters\MSVCRTD.lib(chandler4gs.obj)    1   
    Error   LNK1120 31 unresolved externals Filters C:\Users\alokm\tmp\tmhare.mvps.org-vcam\Bin\VCamD.ax    1   
    

    我错在哪里?如何使其工作?

    构建项目的问题来自以下方面:

  • 项目源代码依赖于DirectShow基类,该基类不再是Windows SDK的一部分
  • 该项目有太多与默认设置不同的设置;在当前的VisualStudio中,这成为一个问题
  • 我更新了项目设置,并更改了项目设置,以使项目构建(VisualStudio 2019社区)运行:大多数C++项目设置都被还原,DirectShow基础类在GITHUB的构建配置中使用。 查看那里的README.md,按照构建步骤(首先需要提取Windows SDK示例,然后在那里构建DirectShow),注册DLL(

    regsvr32
    ),最后让过滤器生成带有随机数据的视频:


    不要认为你应该链接到这个版本的CRT导入库
    C:\Users\alokm\tmp\tmhare.mvps.org vcam\Filters\msvctd.lib
    。无法建议如何修复,因为我不熟悉整个配置,但可能会尝试将您添加的附加库目录移动到标准库目录之后。