extern IMediaSample *pSave = NULL;
Это не просто декларация. Это определит от pSave
до NULL
. Поскольку оба .cpp
включают .h
, эта переменная будет определена в 2 единицах перевода, что вызывает конфликт.
Вы просто должны переписать его как
extern IMediaSample *pSave;
в .h
, затем добавьте IMediaSample *pSave = NULL;
точно в один из .cpp
s.