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

wrongway

Frischling

  • »wrongway« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Österreich

  • Private Nachricht senden

1

29.12.2005, 20:10

Leidensweg eines Newbies - Probleme mit TriBase

Moin,

ich hab vor ein paar tagen mit dem buch von david begonnen und, hab schon die tollsten probleme...

(wen mein "leidensweg" nicht interessiert, der überspringt die nächsten zwei absätze)

ich wollte probehalber eine kleine vektorberechnung machen. dieses vorhaben scheitert an dem problem mit audio.h von DX. das hab ich gelöst, indem ich mir den visual C++ 2005 E. E. heruntergeladen hab. dann war da noch eine sache mit der PSDK. auch erledigt. anscheinend wäre das aber noch zu einfach, also steh ich vorm nächsten fehler :(

ich bin mit meinem (beschränktem) latein am ende, die suchfunktion hat auch nix nützliches ausgespuckt, also bleibt mir wohl nur noch zu fragen

irgendwo in tbgui.h und ctlutil.h (tribase) haut was nicht hin
ich krieg folgende fehlermeldungen:

d:\tribase\include\dshowbaseclasses\ctlutil.h(278) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
d:\tribase\include\tbgui.h(159) : warning C4995: 'strcpy': der Name, der als #pragma markiert war, wurde verworfen
d:\tribase\include\tbgui.h(184) : warning C4995: 'strcpy': der Name, der als #pragma markiert war, wurde verworfen
d:\tribase\include\tbgui.h(236) : warning C4995: 'strcpy': der Name, der als #pragma markiert war, wurde verworfen
d:\tribase\include\tbgui.h(261) : warning C4995: 'strcpy': der Name, der als #pragma markiert war, wurde verworfen
d:\tribase\include\tbgui.h(288) : warning C4995: 'strcpy': der Name, der als #pragma markiert war, wurde verworfen

was kanns da haben?
Ois bestens!

Anonymous

unregistriert

2

29.12.2005, 20:32

d:\tribase\include\dshowbaseclasses\ctlutil.h(278) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.

Das kann durch Falsche Positionierung der TriBase in den Inkludepfaden kommen. Die Positionierung die im Buch steht, gilt nicht für die Express Version!

d:\tribase\include\tbgui.h(159) : warning C4995: 'strcpy': der Name, der als #pragma markiert war, wurde verworfen

Hab den Code gerade nicht vor mir liegen, könnte aber bereits durch eine sicherere Funktion ersetzt worden sein.

wrongway

Frischling

  • »wrongway« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Österreich

  • Private Nachricht senden

3

29.12.2005, 20:56

tja, ich kann TriBase positionieren wie ich will, da tut sich nyx...


und wo gäbe es die neuen funktionen?
Ois bestens!

Anonymous

unregistriert

4

29.12.2005, 21:21

wrongway

Quellcode

1
2
3
.\main.cpp(12) : warning C4996: 'strcpy' was declared deprecated
        C:\Programme\Microsoft Visual Studio 8\VC\include\string.h(73) : see declaration of 'strcpy'
        Message: 'This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.'


Bei der Benutzung von strcpy bekommt man diese Meldung, wer genau hinsieht, der sieht schon welche benutzt werden soll ;) strcpy_s

strcpy_s erwartet als
1. Parameter den Zielspeicher
2. Die größe des Zielspeichers
3. Den Quellspeicher

Auch wenn du sprintf benutzt, wird diese Meldung kommen ;) Dort gibt es auch eine Neuerung wie bei vielen C-Funktionen.

Als Lesenswert empfinde ich diesen Artikel auf der MSDN:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/VisCExSecApps.asp

wrongway

Frischling

  • »wrongway« ist der Autor dieses Themas

Beiträge: 9

Wohnort: Österreich

  • Private Nachricht senden

5

30.12.2005, 00:49

ah! damit wären die strcpy-gschichtln erledigt. soweit so gut

bleibt noch
d:\tribase\include\dshowbaseclasses\ctlutil.h(278) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.

das ist der codeausschnitt dazu

C-/C++-Quelltext

1
2
3
4
5
private:
    //  Prevent bugs from constructing from LONG (which gets

    //  converted to double and then multiplied by 10000000

    COARefTime(LONG);
    operator=(LONG);
[/cpp]
Ois bestens!

6

30.12.2005, 09:30

Bei mir kommen diese Fehler:
c:\projekte\tribase\include\dshowbaseclasses\wxutil.h(195) : warning C4312: 'type cast' : conversion from 'LONG' to 'PVOID' of greater size
c:\projekte\tribase\include\dshowbaseclasses\ctlutil.h(278) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\projekte\tribase\include\dshowbaseclasses\asyncflt.h(159) : warning C4995: 'lstrcpy': name was marked as #pragma deprecated
c:\projekte\tribase\include\dshowbaseclasses\asyncflt.h(159) : warning C4995: 'lstrcpyW': name was marked as #pragma deprecated
c:\projekte\tribase\include\tbgui.h(288) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data

Den letzten Fehler find ich komisch, denn size_t ist doch unsigned int, oder? und wenn ich dann das int in ein unsigned int umschreibe kommt der selbe Fehler.

7

30.12.2005, 18:07

Will mir den keiner helfen? :(

Anonymous

unregistriert

8

30.12.2005, 18:14

Anfänger
Kann sein das die Dateien der TriBase absolut inkompatibel wurden durch das neue PlatformSDK und neue DirectX Versionen.

Ich weiß selbst nicht wo David diese "ctlutil.h" her hat, oder ob er diese selbst geschrieben hat, aber guck doch ggf. mal im SDK nach ob es da eine "neue" gibt, oder ob Du die Funktionen die da drin stecken "umgehen" kannst bzw. "neucoden" kannst.

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

9

30.12.2005, 18:25

sieht ganz so aus, dass sie inkompitabel ist.....
habe jezt erstmal alles fehler behoben, die möglich waren und prompt zeigt sich ein neuer fehler in der Resource.rc: Datei "afxres.h" kann nicht gefunden werden
die Datei ist definitiv nicht vorhanden, auch nicht auf CD (oder hat sie jemand gefunden?)
Das neue DX SDK hab ich noch gar nicht drauf.... will gar net dran denken, was da noch alles für Fehler kommen :o :o :o
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

10

30.12.2005, 18:32

also es geht (ich weiß aber nich wirklich was das macht^^) wenn man schreibt:

C-/C++-Quelltext

1
LONG operator=(LONG); 

naja jetzt kommen nur noch 2 warnungen und die programme lassen sich schonmal kompilieren. Vielleicht fällt ja jemandem noch was ein.

Werbeanzeige