Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

31

17.02.2006, 23:48

Fehler bei TestApp mit TriBase-Engine

Hallo an alle,

hab obige Anleitung beachtet und die Baseclasses sowie die TriBase-Engine kompiliert bekommen. Ich habe zudem also auch das Platform SDK, DX(feb2006) installiert. Leider bekomme ich folgende Fehler beim Kompilieren meiner Testapplikation(Win32-Projekt mit TriBase-Include + Linker "TriBase.lib bzw. TriBaseD.lib") unter VS 2005:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(230) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(230) : error C2143: syntax error : missing ';' before '*'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(230) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(349) : error C2146: syntax error : missing ';' before identifier 'lpwfxFormat'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(349) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(349) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(365) : error C2146: syntax error : missing ';' before identifier 'lpwfxFormat'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(365) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(365) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(416) : error C2146: syntax error : missing ';' before identifier 'lpwfxFormat'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(416) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(416) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(425) : error C2146: syntax error : missing ';' before identifier 'lpwfxFormat'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(425) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(425) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(686) : error C2061: syntax error : identifier 'LPWAVEFORMATEX'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(696) : error C2061: syntax error : identifier 'LPCWAVEFORMATEX'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(770) : error C2061: syntax error : identifier 'LPWAVEFORMATEX'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(780) : error C2061: syntax error : identifier 'LPCWAVEFORMATEX'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(1041) : error C2061: syntax error : identifier 'LPWAVEFORMATEX'
c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(1099) : error C2061: syntax error : identifier 'LPWAVEFORMATEX'
d:\programme\microsoft platform sdk\include\mmsystem.h(803) : error C2373: 'WAVEFORMATEX' : redefinition; different type modifiers
        c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(230) : see declaration of 'WAVEFORMATEX'
d:\programme\microsoft platform sdk\include\mmsystem.h(806) : error C2378: 'LPCWAVEFORMATEX' : redefinition; symbol cannot be overloaded with a typedef
        c:\programme\microsoft directx sdk (february 2006)\include\dsound.h(230) : see declaration of 'LPCWAVEFORMATEX'
d:\programme\microsoft platform sdk\include\mmsystem.h(848) : error C2061: syntax error : identifier 'LPCWAVEFORMATEX'
d:\programme\microsoft platform sdk\include\mmsystem.h(904) : error C2061: syntax error : identifier 'LPCWAVEFORMATEX'
i:\libraries\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'type cast' : conversion from 'LONG' to 'PVOID' of greater size
i:\libraries\tribase\include\dshowbaseclasses\asyncflt.h(159) : warning C4995: 'lstrcpy': name was marked as #pragma deprecated
i:\libraries\tribase\include\dshowbaseclasses\asyncflt.h(159) : warning C4995: 'lstrcpyW': name was marked as #pragma deprecated
i:\libraries\tribase\include\tbgui.h(288) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
Build log was saved at "file://i:\development\Directx\Directx\Debug\BuildLog.htm"
Directx - 25 error(s), 4 warning(s)


Beim googlen bin ich zwar auf eine Lösung gestoßen, BaseTsd.h durch eine Version ohne die Deklarationen von ptr64 usw. ersetzen. Wenn ich diese benutze bekomme ich aber 2 Fehler in der winnt.h, weil irgendwelche Pointer (ich meine ptr64 usw.) benutzt werden.
Kennt einer vielleicht eine Lösung für dieses Problem? :-(

Mit freundlichen Grüßen

Darkburn

32

18.02.2006, 00:03

Meine vorangestellte Frage

Sorry,

ich hatte bei den ganzen Beiträgen die ich durchsucht habe, glatt überlesen, dass man vor dem

#include <TriBase.h>

folgenden include einfügen muss, also so:

#include <mmsystem.h>
#include <TriBase.h>

Danach funktioniert alles.
Bis dann :)

33

18.02.2006, 12:39

Hallo,

ich bekomme die baseclasses leider nicht übersetzt. Ich versuche es schon 2 Tage lang :rolleyes:
Hier ist die Fehlermeldung, kann mir jemand helfen?

Quellcode

1
2
3
4
5
6
7
------ Build started: Project: BaseClasses, Configuration: Debug Win32 ------
Compiling...
dllentry.cpp
d:\programmierung\tribase\include\dshowbaseclasses\ctlutil.h(278) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Build log was saved at "file://d:\Programmierung\TriBase\Include\DShowBaseClasses\Debug\BuildLog.htm"
BaseClasses - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

34

18.02.2006, 13:30

C-/C++-Quelltext

1
operator=(LONG);

ändern in

C-/C++-Quelltext

1
LONG operator=(LONG);
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

35

18.02.2006, 15:12

Danke!
Ich hab´s endlich am laufen :help:

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

36

18.02.2006, 15:49

Auch das steht in der Anleitung.
Wenn man sie doch richtig lesen würde ... :rolleyes:

37

18.02.2006, 15:53

ich hab sie ca. 401 mal gelesen, und auch das aber ich war erst bei:

Zitat

Im importierten Projekt (das gilt für ALLE in der 2005er-Version importierten Projekte) müssen erst einmal die hinzugelinkten Libraries geändert werden:
- (entfernen): odbc32.lib odbccp32.lib (das sind die beiden letzten)
- (hinzufügen): kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib

in der Anleitung.
Sorry

Anonymous

unregistriert

38

21.02.2006, 14:38

- (Include): C:\Dev\Platform SDK\Include\MFC (für afxres.h)

bei mir hat die Platform SDK leider kein afxres.h enthalten, sondern ein afxtls_.h

was soll man da tun?

Anonymous

unregistriert

39

21.02.2006, 15:53

Zitat

3. Jetzt solltet Ihr versuchen, die DirectShow-Base-Classes neu zu kompilieren (werden von der Engine benötigt). Dazu importiert Ihr einfach das Projekt "baseclasses.sln" (es befindet sich in "TriBase\Include\DShowBaseClasses") in Visual C++ 2005 Express.

Im importierten Projekt (das gilt für ALLE in der 2005er-Version importierten Projekte) müssen erst einmal die hinzugelinkten Libraries geändert werden:
- (entfernen): odbc32.lib odbccp32.lib (das sind die beiden letzten)
- (hinzufügen): kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib


wenn man baseclasses.sln öffnet, bekommt man ein Projekt, bei dem man die Libraries nicht wie bei anderen Projekten ändern kann, weil der Eintrag "Linker" gar nicht vorhanden ist.

Hat jemand ne Ahnung was ich da falsch mache?

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

40

21.02.2006, 17:03

Ich hab die deutsche version und da heist es Bibliothekar... sollte wohl nicht allzu schwer sein das in englisch zu finden...
heist glaub ich bei allen Projekten, die nur eine .lib erstellen so...
sonst Linker
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Werbeanzeige