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

11

18.07.2006, 18:25

thx.. hab mir nicht gedacht dass VC++E so "feinfuehlig" ist..

trotzdem.. tut durchgemacht.. das kommt immernoch raus:

p:\microsoft visual studio 8\platform sdk\include\windef.h(152) : error C2632: 'int' gefolgt von 'bool' ist unzulässig
p:\microsoft visual studio 8\platform sdk\include\windef.h(152) : warning C4091: 'typedef ': Ignoriert auf der linken Seite von 'int', wenn keine Variable deklariert wurde
p:\microsoft visual studio 8\vc\include\math.h(422) : error C2062: 'float'-Typ unerwartet
p:\microsoft visual studio 8\vc\include\math.h(423) : error C2143: Syntaxfehler: Es fehlt ';' vor '{'
p:\microsoft visual studio 8\vc\include\math.h(423) : error C2447: '{': Funktionskopf fehlt - Parameterliste im alten Stil?


naja.. das macht der BCB schonmal nicht.. hab beim VC++ rund 300 warnungen bekommen, wenge fehler.. (fast, bis eben auf echt wenige ausnahmen) die einzigen fehler die aufgetaucht sind, sind in den .h-files von microsoft usw.. (und ja ich hab sicher daws tut durchgemacht)

Anonymous

unregistriert

12

18.07.2006, 18:34

Du hast Dich nicht exakt an die Anweisungen des Tutorials gehalten!

Und ja: VC++Express ist sehr feinfühlig, da es sich hier im ein freeware Profiprogramm handelt und nicht um einen Compiler der bei nahe ein Unternehmen in den Ruin getrieben hätte, wie der Borland Build es bald mit Borland getan hätte!

Tipp: Platform SDK ist nicht richtig verlinkt und das alte ist nicht draußen.

13

20.07.2006, 21:26

naja.. ich hab mich entschieden beim Borland zu bleiben..

hab alle bis auf 2 Fehler wegbekommen und es lag nicht an nicht eingebundenen libs, sondern auf gewisser Dummehit meinerseits.. :roll:

naja.. jetzt bin ich auf nen haerteren Kern getroffen.. alle Fehler die noch uebrig sind, sind die hier:

[Linker Fehler] Error: Ungelöste externe 'D3DXCreateFontIndirectA' referenziert von P:\PROJECTS\YTARY\CODE\DEBUG_BUILD\CORE_CGRAPHICS.OBJ
und
[Linker Fehler] Error: Ungelöste externe '__stdcall DirectInput8Create(void *, unsigned long, const _GUID&, void * *, IUnknown *)' referenziert von P:\PROJECTS\YTARY\CODE\DEBUG_BUILD\CORE_CINPUT.OBJ

da das nicht viel sagt hier die Funktionen, die die DirectX-Funktionen aufrufen:

Quellcode

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
BOOL cFont::Create(cGraphics *Graphics, char *Name, long Size, BOOL Bold, BOOL Italic, BOOL Underline, BOOL Strikeout)
{
  D3DXFONT_DESC lf;

  if(Graphics == NULL || Name == NULL)
    return FALSE;
  if(Graphics->GetDeviceCOM() == NULL)
    return FALSE;

  // Clear out the font structure
  ZeroMemory(&lf, sizeof(LOGFONT));

  /*// Set the font name and height
  strcpy(lf.lfFaceName, Name);
  lf.lfHeight = -Size;
  lf.lfWeight = (Bold == TRUE) ? 700 : 0;
  lf.lfItalic = Italic;
  lf.lfUnderline = Underline;
  lf.lfStrikeOut = Strikeout;*/

  strcpy(lf.FaceName, Name);
  lf.Height = -Size;
  lf.Weight = (Bold == TRUE) ? 700 : 0;
  lf.MipLevels = D3DX_DEFAULT;
  lf.Italic = Italic;


  // Create the font object
  if(FAILED(D3DXCreateFontIndirect(Graphics->GetDeviceCOM(), &lf, &m_Font))) return FALSE;
  return TRUE;
}


und

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
BOOL cInput::Init(HWND hWnd, HINSTANCE hInst)
{
  // Free a prior Init
  Shutdown();

  // Record parent Window handle
  m_hWnd = hWnd;

  // Create a DirectInput interface
  if(FAILED(DirectInput8Create(hInst, DIRECTINPUT_VERSION, IID_IDirectInput8W, (void**)&m_pDI, NULL)))
    return FALSE;

  // Return a success
  return TRUE;
}


hoff mal ihr koennt damit was anfangen.. im gegensatz zu mir :/

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

14

20.07.2006, 21:53

d3dx9.lib und dinput8.lib gelinkt?
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

15

21.07.2006, 06:15

yup

Quellcode

1
2
#pragma link "d3dx9.lib"
#pragma link "dinput8.lib"

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

16

21.07.2006, 11:05

Vielleicht hilft es ja wenn Du dinput.lib statt dinput8.lib linkst, auf jeden Fall ist es schnell zu testen. Benutzt Du Unicode oder ANSI?
"Games are algorithmic entertainment."

17

23.07.2006, 20:03

hmm.. da koennte das Problem liegen!

ueberall hat mein Compiler (jetzt als Beispiel) fuer den Input IID_IDirectInput8W benutzt was ja heisst, dass es Unicode ist.

Aber wie man in der Fehlermeldung sehen kann will der Compiler bei D3DXCreateFontIndirect unbedingt die ANSI-Version benutzen. Wenn ich jetzt einfach aus D3DXCreateFontIndirect, D3DXCreateFontIndirectW mache, will er nicht compilieren weil dann die Funktion D3DXCreateFontIndirect(...) einen D3DXFONT_DESCW haben will und mein Compiler macht einfach An
draus. Wenn ich in der Deklarierung dann den Datentyp auf Unicode setze will er mir nicht mehr den String in lf.FaceName kopieren weil das dann ja kein char * sondern wchar_t * ist...

kann mir jemand sagen wie ich das hinkrieg?

:edit:
hab nun gesehen, dass wchar_t UINT entspricht, also habe ich nen extra wchar_t-String gemacht und den Font-Namen konvertiert nach UINT in den wchar_t-String reingeschrieben.
Resultat: das Gleiche wie davor!
Hab auch D3DXCreateFont(..) mit dem selben "trick" ausprobiert.. beides fuehrt zum selben Ergebnis: Ungeloeste externe....

:edit2:
aaaalllllssoooo.. ich hab mal weiter im Netz geschaut. Da hab ic hwas gefunden:

http://www.clootie.ru/cbuilder/index.html

Da gabs nochmal extra libs usw fuer das SDK April 2006 (irgendwie konnt ichs ohne google nicht auf der Microsoft-Seite finden)
egal
jedenfalls das neuere SDK gezogen, libs gezogen, libs in das SDK unter nem extra Unterordner bei den libs rein, in den Projekteigenschaften umgestellt und jetzt ist wieder ein Fehler weniger da! :)
aber das ist mir noch einer zu viel! also kommt nochmal und helft mir, dann habt ihr nichtmehr einen der hier drinnen wie wild dauernd ne kacke zusammenschreibt :lol:

nochmal die Fehlermeldung zum anschauen:
[Linker Fehler] Error: Ungelöste externe '__stdcall DirectInput8Create(void *, unsigned long, const _GUID&, void * *, IUnknown *)' referenziert von P:\PROJECTS\YTARY\CODE\DEBUG_BUILD\CORE_CINPUT.OBJ

und jetz hopp, hopp! ich wills wenigstens ma compilieren koennen!

danke im voraus

Werbeanzeige