Chi siamo Prodotti Supporto Blog

Come compilare esempi di SDK VC++

image

 

  By Olga Krovyakova - modified October 10, 2023, created April 1, 2019.

Prefazione:
SolveigMM Video Editing SDK è stato sviluppato utilizzando DirectX SDK 9.0 (novembre 2000). Non appena questa versione non sarà più disponibile per il download dal sito Microsoft, qui viene descritto come utilizzare le versioni ancora disponibili.

Microsoft suggerisce di utilizzare Ultimo SDK della piattaforma (Windows SDK 6.1) Ultimo SDK di DirectX (marzo 2009) ma sfortunatamente non è possibile farlo facilmente poiché mancano alcune intestazioni di indizi, ad esempio istanza - dxtrans.h

Quindi al momento ecco due modi per utilizzare gli SDK Microsoft:

1. Microsoft Windows SDK per Windows Server 2008® e .NET Framework 3.5 (v6.1  ) + Aggiornamento SDK DirectX 9.0 - (febbraio 2005) 
2. Aggiornamento SDK DirectX 9.0 - (febbraio 2005) + Aggiornamento SDK DirectX 9.0 extra - (febbraio 2005)


 

PROVA GRATUITAMENTE l'SDK di editing video

 

image

Per Microsoft Visual Studio 2008 e versioni successive è necessario installare gli SDK aggiuntivi come segue:

Microsoft Windows SDK per Windows Server 2008
® e .NET Framework 3.5 (v6.1 ) 1328,9 MB
http://www.microsoft.com/downloads/details.aspx?FamilyID=E6E1C3DF-A74F-4207-8586-711EBE331CDC&displaylang=it

Aggiornamento SDK DirectX 9.0 (febbraio 2005) Extra 35,6 MB
http://www.microsoft.com/downloads/details.aspx?FamilyId=8AF0AFA9-1383-44B4-BC8B-7D6315212323&displaylang=en

Le classi base DirectShow devono essere compilate con la seguente chiave:
C/C++, Linguaggio, Tratta wchar_t come tipo incorporato -  No (/Zc:wchar_t-)


Dopo aver installato Windows SDK,’dovrai compilare le classi base DirectShow per ottenere strmbase.lib e strmbasd.lib. Per impostazione predefinita, le classi base si trovano qui:

“\Programmi\Microsoft SDK\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses”

Non devi’confondere le versioni Unicode e Multibyte delle librerie delle classi base&rsquo.

Aggiorna le opzioni del tuo IDE VisualStudio:  aggiungi i seguenti percorsi all'elenco Include :

1)“\Programmi\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\” - è necessario posizionare questo percorso all'inizio di “Include” elenco;
2)“\DXSDK\Includi”;

Aggiungere i seguenti percorsi all'elenco Librerie :

1)“Programmi\Microsoft SDK\Windows\v6.1\Lib”;
2)“Programmi\Microsoft SDK\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Debug”;
3)“Programmi\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Release” - Librerie di classi base compilate con Unicode;
4)“Programmi\Microsoft SDK\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Debug_MBCS”;
5)“Programmi\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Release_MBCS” - Librerie di classi base compilate con MultiByte;
6)“\DXSDK\Lib”;

image

Per Microsoft Visual Studio 2005 è necessario installare gli SDK aggiuntivi come segue:

1. Aggiornamento SDK DirectX 9.0 - (febbraio 2005) 154,6 MB
http://www.microsoft.com/downloads/details.aspx?FamilyID=77960733-06E9-47BA-914A-844575031B81&displaylang=it

2. Aggiornamento SDK DirectX 9.0 (febbraio 2005) Extra 35,6 MB
http://www.microsoft.com/downloads/details.aspx?FamilyId=8AF0AFA9-1383-44B4-BC8B-7D6315212323&displaylang=en

Ecco il layout delle intestazioni e delle directory delle librerie:

image
image

DirectX 9.0 SDK Update Extra (2° punto) contiene classi base DirectShow che dovrebbero essere compilate e dipendono da alcune intestazioni nell'aggiornamento DirectX 9.0 SDK (1° punto)

La soluzione BaseClasses si trova in questa cartella:
"..\Extras\DirectShow\Samples\C++\DirectShow\BaseClasses\baseclasses.sln"

Sfortunatamente alcune intestazioni richiedono lievi modifiche; in caso contrario VC Studio fornisce errori di compilazione.

..\Extras\DirectShow\Samples\C++\DirectShow\BaseClasses\ctlutil.h

COARefTime(LONG);
operatore=(LUNGO); 

dovrebbe essere cambiato in 

COARefTime(LONG);
// operatore=(LUNGO);
COARefTime& operatore=(LONG);

..\Extras\DirectShow\Samples\C++\DirectShow\BaseClasses\wxdebug.cpp

statico g_dwLastRefresh = 0;
dovrebbe essere cambiato in
dWORD statico g_dwLastRefresh = 0;

"..\Extras\DirectShow\Samples\C++\DirectShow\BaseClasses\winutil.cpp"
for (UINT Conteggio = 0;Conteggio < Risultato;Conteggio++) {

dovrebbe essere cambiato in

Conteggio UINT = 0;
for ( Conteggio = 0;Conteggio < Risultato;Conteggio++) {

"..\Extras\DirectShow\Samples\C++\DirectShow\BaseClasses\outputq.cpp"

per (iFatto = 0;
iFatto < nCampioni || (m_nBatched!= 0 && m_bInviaComunque);

dovrebbe essere cambiato in

lungo iFone = 0;
per (iFatto = 0;
iFatto < nCampioni || (m_nBatched!= 0 && m_bInviaComunque);

Le classi base DirectShow devono essere compilate con la seguente chiave:
C/C++, Linguaggio, Tratta wchar_t come tipo incorporato -  No (/Zc:wchar_t-)

 

PROVA GRATUITAMENTE l'SDK di editing video

 

 

 About the author

imageOlga Krovyakova is the Technical Support Manager in Solveig Multimedia since 2010.

She is the author of many text and video guidelines of company's products: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ and TriMP4.

She works with programs every day and therefore knows very well how they work. Сontact Olga via support@solveigmm.com if you have any questions. She will gladly assist you!