2016-07-25 2 views
0

ich versuche sample in VS2015, virtuelle Kamera zu kompilieren, aber eine Menge Linkerfehler haben:Direct virtuelle Kamera Probe nicht kompilieren mit Linkerfehler

strmbasd.lib(wxlist.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 
Filters.obj : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new(unsigned int)" ([email protected]@Z) 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" ([email protected]@Z) 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" ([email protected]@Z) 
strmbasd.lib(wxlist.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" ([email protected]@Z) 
Filters.obj : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" ([email protected]@Z) 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" ([email protected]@Z) 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" ([email protected]@Z) 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete(void *,unsigned int)" ([email protected]@Z) 
Filters.obj : error LNK2019: unresolved external symbol "void * __cdecl operator new[](unsigned int)" ([email protected]@Z) referenced in function "private: __thiscall CVCam::CVCam(struct IUnknown *,long *)" ([email protected]@[email protected]@@[email protected]) 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new[](unsigned int)" ([email protected]@Z) 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new[](unsigned int)" ([email protected]@Z) 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol "void * __cdecl operator new[](unsigned int)" ([email protected]@Z) 
strmbasd.lib(combase.obj) : error LNK2001: unresolved external symbol _memcmp 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol _memcmp 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol _memcmp 
Filters.obj : error LNK2001: unresolved external symbol _memcmp 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol _memcmp 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol _memcmp 
strmbasd.lib(amvideo.obj) : error LNK2001: unresolved external symbol _memcmp 
Filters.obj : error LNK2019: unresolved external symbol _memset referenced in function "public: virtual long __thiscall CVCamStream::GetMediaType(int,class CMediaType *)" ([email protected]@@[email protected]@@Z) 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol _memset 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol _memset 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol _memset 
Filters.obj : error LNK2019: unresolved external symbol __imp__rand referenced in function "public: virtual long __thiscall CVCamStream::FillBuffer(struct IMediaSample *)" ([email protected]@@[email protected]@@Z) 
Filters.obj : error LNK2001: unresolved external symbol "const type_info::`vftable'" ([email protected]@[email protected]) 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "const type_info::`vftable'" ([email protected]@[email protected]) 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol "const type_info::`vftable'" ([email protected]@[email protected]) 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol "const type_info::`vftable'" ([email protected]@[email protected]) 
LINK : error LNK2001: unresolved external symbol [email protected] 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol "void __cdecl operator delete[](void *)" ([email protected]@Z) referenced in function "public: __thiscall CDispBasic::~CDispBasic(void)" ([email protected]@[email protected]) 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete[](void *)" ([email protected]@Z) 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol "void __cdecl operator delete[](void *)" ([email protected]@Z) 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol ___report_rangecheckfailure referenced in function "public: __thiscall CDisp::CDisp(__int64,int)" ([email protected]@[email protected][email protected]) 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol __imp__wcsrchr referenced in function "wchar_t * __cdecl wcsrchr(wchar_t *,wchar_t)" ([email protected]@[email protected]) 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol __imp__wcsrchr 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol __imp____stdio_common_vswprintf referenced in function __vsnwprintf_l 
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol __imp____stdio_common_vswprintf 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol __imp____stdio_common_vswprintf 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol __imp____stdio_common_vswprintf 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol __imp____stdio_common_vsprintf referenced in function __vsnprintf_l 
strmbasd.lib(wxlist.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(amvideo.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(combase.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(amvideo.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol @[email protected] 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(wxlist.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(amvideo.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(combase.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol __RTC_CheckEsp 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(wxlist.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(amvideo.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(combase.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol __RTC_InitBase 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(wxlist.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(amvideo.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(combase.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol __RTC_Shutdown 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol __alldiv referenced in function "public: __thiscall CDisp::CDisp(class CRefTime)" ([email protected]@[email protected]@@@Z) 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol __allrem referenced in function "public: __thiscall CDisp::CDisp(class CRefTime)" ([email protected]@[email protected]@@@Z) 
strmbasd.lib(wxdebug.obj) : error LNK2019: unresolved external symbol __chkstk referenced in function "void __cdecl DbgBreakPoint(wchar_t const *,int,wchar_t const *,...)" ([email protected]@YAXPB_WH0ZZ) 
strmbasd.lib(amvideo.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(dllsetup.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(wxutil.obj) : error LNK2001: unresolved external symbol ___security_cookie 
strmbasd.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __fltused 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol __fltused 
strmbasd.lib(dllentry.obj) : error LNK2019: unresolved external symbol ___security_init_cookie referenced in function [email protected] 
strmbasd.lib(wxutil.obj) : error LNK2019: unresolved external symbol _memcpy referenced in function [email protected] 
strmbasd.lib(mtype.obj) : error LNK2001: unresolved external symbol _memcpy 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol _memcpy 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol _memcpy 
strmbasd.lib(wxutil.obj) : error LNK2019: unresolved external symbol __RTC_UninitUse referenced in function "public: int __thiscall CAMMsgEvent::WaitMsg(unsigned long)" ([email protected]@@[email protected]) 
strmbasd.lib(amfilter.obj) : error LNK2001: unresolved external symbol __purecall 
strmbasd.lib(source.obj) : error LNK2001: unresolved external symbol __purecall 
strmbasd.lib(amfilter.obj) : error LNK2019: unresolved external symbol __allmul referenced in function "protected: virtual long __thiscall CMemAllocator::Alloc(void)" ([email protected]@@MAEJXZ) 
strmbasd.lib(source.obj) : error LNK2019: unresolved external symbol __imp___wtoi referenced in function "public: virtual long __stdcall CSource::FindPin(wchar_t const *,struct IPin * *)" ([email protected]@@[email protected]@@Z) 

Linker Befehlszeile:

/OUT:"C:\Users\Администратор.000\Documents\Visual Studio 2013\Projects\virtual-camera-demo\open-source-directshow-video-capture-demo-filter-master\vcam_vs_2010_demo_video_capture_project\Debug\vcam_vs_2010.ax" /MANIFEST /NXCOMPAT /PDB:"C:\Users\Администратор.000\Documents\Visual Studio 2013\Projects\virtual-camera-demo\open-source-directshow-video-capture-demo-filter-master\vcam_vs_2010_demo_video_capture_project\Debug\vcam_vs_2010.pdb" /DYNAMICBASE "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug\strmbasd.lib" "strmiids.lib" "winmm.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /DEF:"Filters.def" /IMPLIB:"C:\Users\Администратор.000\Documents\Visual Studio 2013\Projects\virtual-camera-demo\open-source-directshow-video-capture-demo-filter-master\vcam_vs_2010_demo_video_capture_project\Debug\vcam_vs_2010.lib" /DEBUG /DLL /MACHINE:X86 /INCREMENTAL /PGD:"C:\Users\Администратор.000\Documents\Visual Studio 2013\Projects\virtual-camera-demo\open-source-directshow-video-capture-demo-filter-master\vcam_vs_2010_demo_video_capture_project\Debug\vcam_vs_2010.pgd" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"Debug\vcam_vs_2010.ax.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /NODEFAULTLIB /TLBID:1 

Ich habe strmbasd.lib kompiliert, alle notwendigen Bibliotheken enthalten, Unicode-Zeichensatz und Compiler-Einstellungen von baseclasses-Projekt überprüft, heruntergeladene kompilierte strmbasd.lib ausprobiert, aber ich kann nicht verstehen, was falsch ist. Wie kann dieses Beispiel erfolgreich kompiliert werden?

+0

Wahrscheinlich gibt es immer noch wichtige Änderungen zwischen BaseClasses und Ihrem Projekt, so dass die Verknüpfung der beiden immer noch nicht aufgelöste externe Symbole –

+0

Ich nahm einfach Beispielprojekt und baseclasses libs und versuchte, die Probe zu kompilieren, denke ich der größte Unterschied, der könnte be ist die Version von VS-Projekten. Ich habe ein paar Tipps zum Kompilieren der Basisklassen strmbasd.lib mit dem gleichen Compiler gefunden, den ich zum Kompilieren von Beispiel verwende, und ich habe es getan, aber nichts geändert. –

+0

Es sieht immer noch wie Übereinstimmung Compiler/Linker Optionen aus. Als Workaround können Sie strmbas? .lib-Verknüpfungen jedoch durch direkte Einfügung ihrer Dateien in das DLL-Projekt ersetzen (wenn Sie nicht versuchen, die statische Bibliotheksverknüpfung zu trennen). –

Antwort

1

Ich konnte Directcshow vcam Probe nicht erhalten, um unter Windows 10 mit VS 2013 oder VS 2015 zu arbeiten, und ich verbrachte unzählige Stunden darauf.

Ich konnte dies in einer Win7 x86 Virtual Machine in etwa 30 Minuten arbeiten. Ich werde wahrscheinlich durch gehen und diese

Schritt 1 an einem gewissen Punkt revalidate: Erstellen Sie Windows 7 Virtual Machine x86

Schritt 2: get sdk

* [https://www.microsoft.com/en-us/download/details.aspx?id=8442][1] 

Schritt 3: 2010 Proben

* https://www.microsoft.com/en-us/download/details.aspx?id=6812 
* installs files program files\microsoft DirectX SDK (June 2010) 
* this step is probably not needed. 

Schritt 4: dl Visual Studio 2013

* [https://go.microsoft.com/fwlink/?LinkId=517284][1] 

Schritt: install git

* install git 
* mkdir projects 
* git clone https://github.com/johnmaccormick/MultiCam 
* cd MultiCam 

Schritt 6:

* import these \baseclasses into a project c:\projects\baseclasses 
* 
    * C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses 
    * I think these build first time, didn't change anything that I can remember 

Schritt 7:

* open multicam project 
* vcam project properties-->library directories 
* add C:\Program Files\Microsoft SDKs\Windows\v7.1\lib 
* add c:\projects\baseclasses\debug 
* compile win32 
1

Ich stolperte über das gleiche bei dem Versuch, ein Audio-Renderer Filter machen mit Visual Studio 2015. Es ist mir gelungen, es zu verlinken (mit dem /NODEFAULTLIBS Flag), indem ich die benötigten Bibliotheken und einige seltsame Sachen von crt hinzufüge Laufzeitquellen (initializers.cpp um genau zu sein). Sie können https://github.com/rubu/VirtualAudioRenderer auschecken.