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

tenschert

Frischling

Beiträge: 14

Wohnort: Stein bei Nürnberg

Beruf: Schüler

  • Private Nachricht senden

11

30.07.2003, 11:44

Nachtrag- Geht nun doch!

Also, nach ein bißchen durchlesen durch das Forum und selbst ausprobieren geht's jetzt doch. Brauchst dir also keine Mühe mehr machen!! }>

Mfg.
Dein Michael Tenschert
tenschert@web.de :help:

12

30.07.2003, 12:09

da hätte ich mir keine Mühe machen müssen um den Fehler zu finden!
Die d3d9.lib hat einfach gefehlt! ;)

PS: Wenn du DirectX 9 SDK installiert hast, dann nim lieber die Libs aus dessen Ordner.

PPS: Bei Optionen (bei VC++) kannst du irgendwo die Verzeichnisse für Libs ändern und hinzufügen. Stell da das DirectX 9 SDK\Lib-Verzeichnis ein, dann kannst du es so coden.

Quellcode

1
pragma comment(lib, "d3d9.lib");

Das sieht schöner aus als mit dem ganzen Pfad
Ein Gespenst geht um in Europa...

MannyDasMammut

Treue Seele

  • »MannyDasMammut« ist der Autor dieses Themas

Beiträge: 76

Wohnort: Baden - Würtemberg / Achern

Beruf: Schüler

  • Private Nachricht senden

13

30.07.2003, 16:27

Das Linken geht noch einfacher

Das Linken geht noch einfacher ohne pragma ..... Mann kann es auch in den Projekt einstellungen von Visual C++ machen.
Werde ich hier eigentlich noch gebrauch ansonsten würd ich gerne nach Hause gehen und meine graue Wand anstarren.

14

30.07.2003, 18:08

das stimmt. Aber dann ist dein code Compilerabhängig. Und das verstößt gegen einer meiner Gesetze ;)
Ein Gespenst geht um in Europa...

tenschert

Frischling

Beiträge: 14

Wohnort: Stein bei Nürnberg

Beruf: Schüler

  • Private Nachricht senden

15

08.08.2003, 22:11

Geht jetzt doch nicht mehr

Also, ich kann erst jetzt antworten, da plötzlich der Internetzugang bei mir nicht mehr funktioniert hat, jetzt geht er wieder, da ich den Rechner neu installiert habe, aber dafür nicht mehr die C++#Spieleprogramme, obwohl ich alles befolgt habe, mit '#pragma' die Datei 'd3d9.lib' eingebunden habe, DirectX 9SDK installiert habe,... . Der Code ist derselbe wie vorher, die Fehlermeldung bis auf einen kleinen Unterschied dieselbe: :help:
--------------------Konfiguration: adaper2_15 - Win32 Debug-----------------
Kompilierung läuft...
adaper2_15.cpp
D:\Meine C++- Dateien\Visual C++- Programme\3D-Spieleprogrammierung\adapter2_15\adaper2_15.cpp(6) : warning C4081: 'newline' erwartet; ';' gefunden
Linker-Vorgang läuft...
LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
Debug/adaper2_15.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

adaper2_15.exe - 2 Fehler, 1 Warnung(en)
--------------------------------------------------------------------------------------
(Ohne Semikolon hinter #pragma (Warnung "newline "erwartet) genau dasselbe, mit einbinden von d3d9.lib in die Projekteinstellungen auch)
Kann man da noch was machen?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

16

08.08.2003, 22:13

Scheinbar hast Du eine Konsolenanwendung anstatt einer Win32-Anwendung erstellt. Darum sucht er auch nach "main" und nicht nach "WinMain". Und dann müsste da noch ein Fehler sein. Poste mal den kompletten Code.

tenschert

Frischling

Beiträge: 14

Wohnort: Stein bei Nürnberg

Beruf: Schüler

  • Private Nachricht senden

17

08.08.2003, 22:36

Da ist der Code, der ist aus der Beispieldatei von der CD-Rom:
--------------------------------------------------------------------------------------
#include<Windows.h>
#include<StdIO.h>
#include <d3d9.h>
#include <d3dx9.h>

#pragma comment(lib, "d3d9.lib")

int g_iNumAdapters;
D3DADAPTER_IDENTIFIER9* g_pAdapters;
PDIRECT3D9 g_pD3D = NULL;

int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
char* pcCmdLine,
int iShowCmd)
{
char acAdapterInfo[1024];

g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
if(g_pD3D == NULL)
{

MessageBox(NULL, "Fehler beim Erzeugen der Direct3D-Schnittstelle!",
"Fehler", MB_OK | MB_ICONEXCLAMATION);
return 1;
}

g_iNumAdapters = g_pD3D -> GetAdapterCount();

g_pAdapters = new D3DADAPTER_IDENTIFIER9[g_iNumAdapters];

for(int iAdapter = 0; iAdapter < g_iNumAdapters; iAdapter++)
{
if(FAILED(g_pD3D->GetAdapterIdentifier(iAdapter, 0,
&g_pAdapters[iAdapter])))
{

MessageBox(NULL, "Adapterinformationen konnten nicht abgefragt werden!",
"Fehler", MB_OK | MB_ICONEXCLAMATION);

g_pD3D->Release();
delete[] g_pAdapters;
return 1;
}

sprintf(acAdapterInfo, "Adapter-ID: %d\n Name: %s\n Treiber: %s\n Treiberversion: %d",
iAdapter,
g_pAdapters[iAdapter].Description,
g_pAdapters[iAdapter].Driver,
g_pAdapters[iAdapter].DriverVersion);

MessageBox(NULL, acAdapterInfo, "Adapter gefunden", MB_OK | MB_ICONINFORMATION);

}

g_pD3D->Release();
delete[] g_pAdapters;

return 0;
}
--------------------------------------------------------------------------------------

:huhu:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

18

08.08.2003, 22:38

Mach's mal ohne das Pragma, trag die Library in die Projekteinstellungen ein, und sage mir, ob Du wirklich eine Konsolenanwendung oder eine Win32-Anwendung erstellt hast. Die Frage hast Du mir nämlich nicht beantwortet.

tenschert

Frischling

Beiträge: 14

Wohnort: Stein bei Nürnberg

Beruf: Schüler

  • Private Nachricht senden

19

08.08.2003, 22:41

Wart mal, da kommen jetzt plötzlich irgendwelche Meldungen, dass er Dateien, nicht gefunden hat. Ich schau mal nach, was das ist. Übrigens habe ich eine Win32-Anwendung erstellt. ;D

tenschert

Frischling

Beiträge: 14

Wohnort: Stein bei Nürnberg

Beruf: Schüler

  • Private Nachricht senden

20

08.08.2003, 22:50

Also die Fehlermeldungen, dass er irgendwelche DirectX Dateien nicht gefunden hat, sind jetzt weg. ich habe meinen Rechner neugestarte, weil ich mir das neue DirectX 9.0B geholt habe.

Werbeanzeige