Über uns Produkte Support FAQ Bloggen

So kompilieren Sie SDK VC++-Beispiele

image

 

   Von Olga Krovyakova - geändert am 10. Oktober 2023, erstellt am 1. April 2019.

Vorwort:
Das SolveigMM Video Editing SDK wurde unter Verwendung von DirectX SDK 9.0 (November 2000) entwickelt. Sobald diese Version nicht mehr zum Download auf der Microsoft-Website verfügbar ist, wird hier beschrieben, wie Sie die noch verfügbaren Versionen verwenden können.

Microsoft schlägt die Verwendung von Neuestes Plattform-SDK (Windows SDK 6.1) und Neuestes DirectX-SDK (März 2009) vor, aber leider ist dies nicht einfach, da dort einige Hinweisheader fehlen, z Instanz - dxtrans.h

Also gibt es bis jetzt zwei Möglichkeiten , Microsoft SDKs zu verwenden:

1. Microsoft Windows SDK für Windows Server 2008® und .NET Framework 3.5 (v6.1  ) + DirectX 9.0 SDK-Update – (Februar 2005) 
2. DirectX 9.0 SDK-Update – (Februar 2005) + DirectX 9.0 SDK-Update Extra- (Februar 2005)


 

TRY Video Editing SDK FREE

 

image

Für Microsoft Visual Studio 2008 und höher sollten Sie die zusätzlichen SDKs wie folgt installieren:

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

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

DirectShow-Basisklassen sollten mit dem folgenden Schlüssel kompiliert werden:
C/C++, Sprache, wchar_t als integrierten Typ behandeln –  Nein (/Zc:wchar_t-)


Nach der Installation des Windows SDK müssen Sie’die DirectShow-Basisklassen kompilieren, um strmbase.lib und strmbasd.lib zu erhalten. Standardmäßig befinden sich Basisklassen hier:

“\Programme\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses”

Sie dürfen nicht’Unicode- und Multibyte-Versionen der Basisklassenbibliotheken’ verwechseln.

Aktualisieren Sie die Optionen Ihrer VisualStudio-IDE:  fügen Sie die folgenden Pfade zur Liste Enthält hinzu:

1)“\Programme\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\” – Sie sollten diesen Pfad ganz am Anfang von “platzieren. Enthält” Liste;
2)“\DXSDK\Include”;

Fügen Sie der Liste Bibliotheken die folgenden Pfade hinzu:

1)“Programme\Microsoft SDKs\Windows\v6.1\Lib”;
2)“Programme\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Debug”;
3)“Programme\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Release” – Unicode-kompilierte Basisklassenbibliotheken;
4)“Programme\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Debug_MBCS”;
5)“Programme\Microsoft SDKs\Windows\v6.1\Samples\Multimedia\DirectShow\BaseClasses\Release_MBCS” – MultiByte-kompilierte Basisklassenbibliotheken;
6)“\DXSDK\ Lib”;

image

Für Microsoft Visual Studio 2005 sollten Sie die zusätzlichen SDKs wie folgt installieren:

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

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

Hier ist das Layout der Header- und Bibliotheksverzeichnisse:

image
image

DirectX 9.0 SDK Update Extra (2. Punkt) enthält DirectShow-Basisklassen, die kompiliert werden sollten und von einigen Headern im DirectX 9.0 SDK Update (1. Punkt) abhängen

Die BaseClasses-Lösung befindet sich in diesem Ordner:
"..\„..\Extras\DirectShow\Samples\C++\DirectShow\BaseClasses\baseclasses.sln“"

Leider erfordern einige Header geringfügige Änderungen; andernfalls liefert VC Studio Kompilierungsfehler.

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

COARefTime(LONG);
operator=(LONG); 

sollte geändert werden 

COARefTime(LONG);
// operator=(LONG);
COARefTime& Operator=(LONG);

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

static g_dwLastRefresh = 0;
sollte geändert werden
statisches DWORD g_dwLastRefresh = 0;

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

sollte geändert werden

UINT-Anzahl = 0;
for ( Count = 0;Count < Ergebnis;Count++) {

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

für (iDone = 0;
iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);

sollte geändert werden

long iDone = 0;
für (iDone = 0;
iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);

DirectShow-Basisklassen sollten mit dem folgenden Schlüssel kompiliert werden:
C/C++, Sprache, wchar_t als integrierten Typ behandeln –  Nein (/Zc:wchar_t-)

 

TRY Video Editing SDK FREE

 

 

Über den Autor

imageOlga Krovyakova ist seit 2010 Technical Support Manager bei Solveig Multimedia.

Sie ist Autorin zahlreicher Text- und Video-Richtlinien für Produkte: Video Splitter, HyperCam, WMP Trimmer Plugin, AVI Trimmer+ und TriMP4.

Sie arbeitet jeden Tag mit Programmen und weiß daher sehr gut, wie sie funktionieren. Wenden Sie sich bei Fragen an Olga über support@solveigmm.com.

Sie hilft Ihnen gerne weiter!