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

1

15.12.2013, 10:14

[DirectX9]Linkerfehler_bei_der_Texturerstellung

Hallo ich habe ein Problem mit der Texturerstellung.Ich bekomme 2 Linker Fehler wenn ich mein Programm ausführe.Ich glaube das der Fehler bei der Initscene()Funktion bei D3DCreateTextureFromFileEx ist bin mir aber nicht ganz sicher.Wär wirklich nett, denn jedes mal wenn ich irgendwo eine Textur raufmachen will bekomm ich diese 2 Linker Fehler:
LNK2019:Verweis auf eine nicht aufgelöstes externes Symbol "_D3DCreateTextureFromFileExA@56" in Funktion "tbResult_cdecl InitScene(void)...
LNK1122:1 nicht aufgelöste Externe

globale Struktur und Variable

C-/C++-Quelltext

1
2
3
struct SVertex{ tbVector3           vPosition;   DWORD              dwColor;    tbVector2           vTexture;    static const DWORD dwFVF;   };
const DWORD SVertex::dwFVF = D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1;SVertex              g_aTriangleVertex[53]; 
PDIRECT3DTEXTURE9   g_pTexture = NULL;



Render()

C-/C++-Quelltext

1
g_pD3DDevice->BeginScene();g_aTriangleVertex[0].vPosition   = tbVector3( 0.0f-a,  0.0f, 0.0f);g_aTriangleVertex[1].vPosition    = tbVector3( 0.0f-a, 1.0f, 0.0f);g_aTriangleVertex[2].vPosition = tbVector3(1.0f-a, 1.0f, 0.0f);//Bis zu 53___g_aTriangleVertex[1].vTexture = tbVector2(0.0f, 0.0f);



ExitScene()

C-/C++-Quelltext

1
g_pD3DDevice->SetTexture(0, NULL);TB_SAFE_RELEASE(g_pTexture);



InitScene

C-/C++-Quelltext

1
2
  if(FAILED(hResult = D3DXCreateTextureFromFileEx(g_pD3DDevice,  "Texture.bmp", D3DX_DEFAULT, D3DX_DEFAULT,  D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_MANAGED, D3DX_FILTER_NONE, D3DX_DEFAULT, 0,    NULL, NULL,     &g_pTexture)))         {
        TB_ERROR_DIRECTX("D3DXCreateTextureFromFileEx", hResult, TB_ERROR); }   g_pD3DDevice->SetTexture(0, g_pTexture);

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

15.12.2013, 11:03

Linker-Fehler entstehen übrigens noch bevor Dein Programm überhaupt ausgeführt werden kann, noch während es erstellt wird.
Sie treten z.B. auf, wenn man vergessen hat in den Linker-Einstellungen die Lib hinzuzufügen, die die gewünschte Funktion enthält. In diesem Fall wohl die D3dx9.lib. Nachzulesen hier: http://msdn.microsoft.com/en-us/library/…v=vs.85%29.aspx
Die Funktion heißt übrigens D3DXCreateTextureFromFileEx und nicht D3DCreateTextureFromFileEx.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

18.12.2013, 18:17

Vielen Dank habe vergessen die lib einzubinden^^
und danke für die info hab nie gewusst wo ich bei Linker Fehler was falsche gemacht habe, dachte da hat es mit irgendeiner funktion was...

Werbeanzeige