J'essaie de capturer des images de plusieurs webcams simultanément et de les enregistrer automatiquement avec un retard minimum en utilisant C++. Je veux aussi que le programme soit capable de modifier les paramètres de la webcam lorsque cela est nécessaire. J'espérais créer des exemples de show direct (AMCap) sur Platform SDK, puis éditer le code en fonction de mon application. Mais je continue d'obtenir des erreurs.Direct Show (AMCap) - Plate-forme SDK
J'ai été capable de construire les classes de base et j'ai inclus les chemins sous 'include' et 'library files'. J'ai eu les erreurs suivantes quand j'essayais de construire AMCap. Je travaille sur XP avec Visual Studio 2008.
Compiling...
amcap.cpp
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(231) : error C2664: 'StringCchCatA' : cannot convert parameter 3 from 'WCHAR [260]' to 'STRSAFE_LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(327) : error C2664: 'GetProfileStringA' : cannot convert parameter 4 from 'WCHAR [260]' to 'LPSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(2691) : error C2664: 'statusUpdateStatus' : cannot convert parameter 2 from 'WCHAR [120]' to 'LPCTSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(2698) : error C2664: 'StringCchCopyNA' : cannot convert parameter 1 from 'WCHAR [1024]' to 'STRSAFE_LPSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(2699) : error C2664: 'StringCchCopyNA' : cannot convert parameter 1 from 'WCHAR [1024]' to 'STRSAFE_LPSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(2831) : error C2664: 'AppendMenuA' : cannot convert parameter 4 from 'BSTR' to 'LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(2887) : error C2664: 'AppendMenuA' : cannot convert parameter 4 from 'BSTR' to 'LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(3792) : error C2664: 'StringCchCopyA' : cannot convert parameter 3 from 'WCHAR [260]' to 'STRSAFE_LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(3838) : error C2664: 'OpenFileDialog' : cannot convert parameter 2 from 'WCHAR [260]' to 'LPTSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(3844) : error C2664: 'GetFileAttributesA' : cannot convert parameter 1 from 'WCHAR [260]' to 'LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(3904) : error C2664: 'ICaptureGraphBuilder2::CopyCaptureFile' : cannot convert parameter 2 from 'TCHAR [260]' to 'LPOLESTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(4108) : error C2664: 'GetSize' : cannot convert parameter 1 from 'WCHAR [260]' to 'LPCTSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(4112) : error C2664: 'GetFreeDiskSpaceInKB' : cannot convert parameter 1 from 'WCHAR [260]' to 'LPTSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(4165) : error C2664: '_wtol' : cannot convert parameter 1 from 'TCHAR [21]' to 'const wchar_t *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(4240) : error C2664: '_wtof' : cannot convert parameter 1 from 'TCHAR [32]' to 'const wchar_t *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(4392) : error C2664: 'WriteProfileStringA' : cannot convert parameter 3 from 'WCHAR [260]' to 'LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(4403) : error C2664: 'StringCchCopyNA' : cannot convert parameter 3 from 'WCHAR *' to 'STRSAFE_LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
d:\program files\microsoft sdks\windows\v6.1\samples\multimedia\directshow\capture\amcap\amcap.cpp(4421) : error C2664: 'StringCchCopyA' : cannot convert parameter 3 from 'WCHAR *' to 'STRSAFE_LPCSTR'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Ces erreurs ressemblaient à des erreurs de non-concordance de chaîne, donc essayé de les construire avec le jeu de caractères unicode, et a obtenu les erreurs suivantes.
Compiling...
amcap.cpp
crossbar.cpp
SampleCGB.cpp
status.cpp
stdafx.cpp
Generating Code...
Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation. All rights reserved.
Linking...
amcap.obj : error LNK2019: unresolved external symbol "void __stdcall DbgAssert(unsigned short const *,unsigned short const *,int)" ([email protected]@[email protected]) referenced in function "int __cdecl AppInit(struct HINSTANCE__ *,struct HINSTANCE__ *,int)" ([email protected]@[email protected]@[email protected])
crossbar.obj : error LNK2001: unresolved external symbol "void __stdcall DbgAssert(unsigned short const *,unsigned short const *,int)" ([email protected]@[email protected])
SampleCGB.obj : error LNK2001: unresolved external symbol "void __stdcall DbgAssert(unsigned short const *,unsigned short const *,int)" ([email protected]@[email protected])
amcap.obj : error LNK2001: unresolved external symbol _AM_KSCATEGORY_CAPTURE
amcap.obj : error LNK2001: unresolved external symbol _IID_IBaseFilter
crossbar.obj : error LNK2001: unresolved external symbol _IID_IBaseFilter
SampleCGB.obj : error LNK2019: unresolved external symbol _IID_IBaseFilter referenced in function "protected: long __thiscall ISampleCaptureGraphBuilder::GetMedium(struct IPin *,struct __MIDL___MIDL_itf_strmif_0000_0022_0003 &)" ([email protected]@@[email protected]@[email protected]@@Z)
amcap.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "long __stdcall AppWndProc(struct HWND__ *,unsigned int,unsigned int,long)" ([email protected]@[email protected]@[email protected])
amcap.obj : error LNK2001: unresolved external symbol _CLSID_CaptureGraphBuilder2
amcap.obj : error LNK2001: unresolved external symbol _IID_ICaptureGraphBuilder2
amcap.obj : error LNK2001: unresolved external symbol _CLSID_FilterGraph
amcap.obj : error LNK2001: unresolved external symbol _IID_IGraphBuilder
amcap.obj : error LNK2001: unresolved external symbol _PIN_CATEGORY_CC
amcap.obj : error LNK2001: unresolved external symbol _PIN_CATEGORY_VBI
amcap.obj : error LNK2001: unresolved external symbol _MEDIATYPE_Audio
SampleCGB.obj : error LNK2001: unresolved external symbol _MEDIATYPE_Audio
amcap.obj : error LNK2001: unresolved external symbol _PIN_CATEGORY_ANALOGVIDEOIN
amcap.obj : error LNK2001: unresolved external symbol _AMPROPSETID_Pin
amcap.obj : error LNK2001: unresolved external symbol _IID_IKsPropertySet
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMVfwCaptureDialogs
amcap.obj : error LNK2019: unresolved external symbol "void __stdcall DeleteMediaType(struct _AMMediaType *)" ([email protected]@[email protected]@@Z) referenced in function "int __cdecl InitCapFilters(void)" ([email protected]@YAHXZ)
SampleCGB.obj : error LNK2001: unresolved external symbol "void __stdcall DeleteMediaType(struct _AMMediaType *)" ([email protected]@[email protected]@@Z)
amcap.obj : error LNK2001: unresolved external symbol _FORMAT_VideoInfo
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMStreamConfig
amcap.obj : error LNK2001: unresolved external symbol _MEDIATYPE_Video
SampleCGB.obj : error LNK2001: unresolved external symbol _MEDIATYPE_Video
amcap.obj : error LNK2001: unresolved external symbol _PIN_CATEGORY_CAPTURE
amcap.obj : error LNK2001: unresolved external symbol _MEDIATYPE_Interleaved
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMVideoCompression
amcap.obj : error LNK2001: unresolved external symbol _IID_IMediaEventEx
amcap.obj : error LNK2001: unresolved external symbol _IID_IVideoWindow
amcap.obj : error LNK2001: unresolved external symbol _MEDIATYPE_Stream
SampleCGB.obj : error LNK2001: unresolved external symbol _MEDIATYPE_Stream
amcap.obj : error LNK2001: unresolved external symbol _PIN_CATEGORY_PREVIEW
amcap.obj : error LNK2001: unresolved external symbol _IID_IConfigAviMux
amcap.obj : error LNK2001: unresolved external symbol _MEDIASUBTYPE_Avi
amcap.obj : error LNK2001: unresolved external symbol _IID_IBasicVideo
amcap.obj : error LNK2001: unresolved external symbol _FORMAT_DvInfo
amcap.obj : error LNK2001: unresolved external symbol _IID_IMediaControl
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMDroppedFrames
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMTVAudio
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMTVTuner
amcap.obj : error LNK2001: unresolved external symbol _LOOK_UPSTREAM_ONLY
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMCrossbar
crossbar.obj : error LNK2001: unresolved external symbol _IID_IAMCrossbar
amcap.obj : error LNK2001: unresolved external symbol _CLSID_AudioInputDeviceCategory
amcap.obj : error LNK2001: unresolved external symbol _CLSID_VideoInputDeviceCategory
amcap.obj : error LNK2001: unresolved external symbol _CLSID_SystemDeviceEnum
SampleCGB.obj : error LNK2001: unresolved external symbol _CLSID_SystemDeviceEnum
amcap.obj : error LNK2001: unresolved external symbol _IID_ICreateDevEnum
SampleCGB.obj : error LNK2001: unresolved external symbol _IID_ICreateDevEnum
amcap.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "void __cdecl ChooseAudioFormat(void)" ([email protected]@YAXXZ)
amcap.obj : error LNK2019: unresolved external symbol [email protected] referenced in function "void __cdecl ChooseAudioFormat(void)" ([email protected]@YAXXZ)
amcap.obj : error LNK2001: unresolved external symbol _IID_IAMCopyCaptureFileProgress
crossbar.obj : error LNK2019: unresolved external symbol "void __cdecl DbgLogInfo(unsigned long,unsigned long,unsigned short const *,...)" ([email protected]@YAXKKPBGZZ) referenced in function "public: __thiscall CCrossbar::CCrossbar(struct IPin *,long *)" ([email protected]@[email protected]@@[email protected])
crossbar.obj : error LNK2019: unresolved external symbol "public: __thiscall CBaseList::~CBaseList(void)" ([email protected]@[email protected]) referenced in function "public: __thiscall CGenericList::~CGenericList(void)" ([email protected]@@@@[email protected])
crossbar.obj : error LNK2019: unresolved external symbol "public: __thiscall CBaseList::CBaseList(unsigned short const *,int)" ([email protected]@[email protected]@Z) referenced in function "public: __thiscall CGenericList::CGenericList(unsigned short const *,int,int,int)" ([email protected]@@@@[email protected]@Z)
crossbar.obj : error LNK2019: unresolved external symbol "protected: void * __thiscall CBaseList::GetNextI(struct __POSITION * &)const " ([email protected]@@[email protected]@@Z) referenced in function "public: class CRouting * __thiscall CGenericList::GetNext(struct __POSITION * &)const " ([email protected][email protected]@@@@[email protected]@[email protected]@@Z)
crossbar.obj : error LNK2019: unresolved external symbol "protected: void * __thiscall CBaseList::RemoveHeadI(void)" ([email protected]@@IAEPAXXZ) referenced in function "public: class CRouting * __thiscall CGenericList::RemoveHead(void)" ([email protected][email protected]@@@@[email protected]@XZ)
crossbar.obj : error LNK2019: unresolved external symbol "protected: struct __POSITION * __thiscall CBaseList::AddTailI(void *)" ([email protected]@@[email protected]@[email protected]) referenced in function "public: struct __POSITION * __thiscall CGenericList::AddTail(class CRouting *)" ([email protected][email protected]@@@@[email protected]@[email protected]@@Z)
crossbar.obj : error LNK2019: unresolved external symbol "protected: void * __thiscall CBaseList::GetI(struct __POSITION *)const " ([email protected]@@[email protected]@@Z) referenced in function "public: class CRouting * __thiscall CGenericList::Get(struct __POSITION *)const " ([email protected]?$CGen[email protected]@@@@[email protected]@[email protected]@@Z)
SampleCGB.obj : error LNK2001: unresolved external symbol _MEDIASUBTYPE_MPEG2_PROGRAM
SampleCGB.obj : error LNK2001: unresolved external symbol _MEDIASUBTYPE_MPEG2_VIDEO
SampleCGB.obj : error LNK2001: unresolved external symbol _CLSID_FilterMapper2
SampleCGB.obj : error LNK2001: unresolved external symbol _IID_IFilterMapper2
SampleCGB.obj : error LNK2001: unresolved external symbol _IID_IKsPin
SampleCGB.obj : error LNK2001: unresolved external symbol _CLSID_MPEG2Demultiplexer
SampleCGB.obj : error LNK2001: unresolved external symbol _FORMAT_MPEG2Video
SampleCGB.obj : error LNK2001: unresolved external symbol _FORMAT_WaveFormatEx
SampleCGB.obj : error LNK2001: unresolved external symbol _MEDIASUBTYPE_MPEG2_AUDIO
SampleCGB.obj : error LNK2001: unresolved external symbol _IID_IMpeg2Demultiplexer
D:\Documents and Settings\Chris Salthouse\My Documents\Visual Studio 2008\Projects\AMCap\Debug\AMCap.exe : fatal error LNK1120:60 unresolved externals
Dois-je utiliser Unicode ou Multi-octets? Je ne comprends pas ce qui cause le problème. Toute aide ou conseil est appréciée. Merci beaucoup pour votre temps!
J'ai apporté toutes les modifications requises à la page de propriétés. wchar_t built est défini sur NO et attaché Common sous des répertoires include supplémentaires. tout le reste a des paramètres par défaut. Est-ce que je rate quelque chose? – Aks