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

17.05.2013, 21:46

Kapitel 2 - Initialisierung von Direct3D

Hallo,

ich habe ein Problem mit der Initialisierung von DirectX.


Ich bekomme diese Fehlermeldungen:


Quellcode

1
2
3
4
5
6
7
8
1>------ Erstellen gestartet: Projekt: dsDirectX 2 ( InitDirect3D ), Konfiguration: Debug Win32 ------
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbInit(void)" (__imp_?tbInit@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbExit(void)" (__imp_?tbExit@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbDoMessageLoop(enum tbResult (__cdecl*)(float),enum tbResult (__cdecl*)(float))" (__imp_?tbDoMessageLoop@@YA?AW4tbResult@@P6A?AW41@M@Z0@Z)" in Funktion "_WinMain@16".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)" in Funktion "_WinMain@16".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".
..\Visual Studio 2012\Projects\dsDirectX 2 ( InitDirect3D )\Debug\dsDirectX 2 ( InitDirect3D ).exe : fatal error LNK1120: 5 nicht aufgelöste Externe
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========


Ich habe schon alles probiert, aber nichts hat funktioniert!


Kann mir bitte jemand noch einmal genau erklären, wass ich in welcher Reihenfolge machen muss?

Ich habe:

-in den VC++ - Verzeichnissen die Ordnerstrukturen von lib und include eingetragen ( der TriBase - Engine, des DirectX9 - SDKs, des Platform - SDKs)
-unter Linker - Eingabe d3d9.lib hinzugefügt, dxerr9.lib konnte ich nicht einbinden, es gab jedesmal die Fehlermeldung "konnte die Quelle nicht öffnen".
-sämtliche Header-, Quell- und Ressourcendateien dem Projekt hinzugefügt, wie beschrieben.
-und das alles mehrmals in jeweils unterschiedlichen neuen Projekten wiederholt, um sicher zu sein.


Allerdings: Das vorherige Projekt hat funktioniert, die Auflistung der Grafikkartentreiber etc.

Ich benutze Visual Studio 2012 Express auf Windows 7 (64bit).


Kann mir bitte jemand helfen?




Danke!!



Player894

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

17.05.2013, 23:37

Schau mal hier: Software-Update: Alle Projekte aus dem Buch "3D-Spieleprogrammierung" für Visual C++ 2010 & neues DirectX-SDK

Wenn du die TriBase Engine verwenden willst, würde ich zu VS 2010 raten; mit VS 2012 wird das potentiell problematisch, da das dort mitgelieferte Windows SDK einfach zu neu ist. Wenn du es wirklich versuchen willst: Du wirst alles so einrichten müssen, dass statt dem bei VS 2012 enthaltenen Windows 8 SDK ein Windows 7 SDK + das entsprechende DirectX SDK benutzt wird, da die TriBase Engine Komponenten benötigt, die es mittlerweile nichtmehr gibt (z.B. D3DX). In jedem Fall verwend obiges Update und nicht die Dateien von der CD die beim Buch dabei ist, die sind einfach viel zu alt...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (17.05.2013, 23:43)


3

18.05.2013, 10:19

Vielen Dank für den Tipp!

Jetzt sind auch die Linkerfehler weg!


Allerdings bekomme ich jetzt solche Fehler:


<code>
Fehler 1 error MSB3073: Der Befehl ""..\3D-Spieleprogrammierung-Update\Beispielprogramme\Kapitel 02\Bsp 02-01 - Fenster\CopyDLL.bat" "..\3D-Spieleprogrammierung-Update\Beispielprogramme\Kapitel 02\Bsp 02-01 - Fenster\TriBase\Bin\TriBaseD.dll" "..\3D-Spieleprogrammierung-Update\Beispielprogramme\Kapitel 02\Bsp 02-01 - Fenster\TriBaseD.dll"
:VCEnd" wurde mit dem Code 9009 beendet. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 108
</code>

Ich habe das Unterprojekt "Erstes Fenster" mit Visual C++ 2010 geöffnet.

Wenn ich die gesamte Projektmappe öffne (die Express-freundliche Version) und kompiliere, bekomme ich pro Projekt über hundert Fehlermeldungen:

<code>
Fehler 106 error C1003: Mehr als 100 Fehler gefunden; Kompilierung wird abgebrochen. c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h 886
</code>

Was kann ich da machen?

Ehrlich gesagt verstehe ich diese ganzen Fehlermeldungen noch nicht einmal ;)

Habt ihr da noch weitere Ideen?


Player894

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Player894« (18.05.2013, 12:31)


Werbeanzeige