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

14.01.2010, 19:45

Fehler beim kompilieren!!!

Hallo erst mal,
Ich bin neu hier und habe ein Problem bei dem Beispielprogramm in Kapittel 2.4.1
Und zwar zeigt mein Kompiler immer 3 Fehler an und ich finde die Grüde dafür einfach nich:
Quellcode

C-/C++-Quelltext

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <Windows.h>
#include <StdIO.h>
#include <D3D9.h>
#include <TriBase.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCmdLine, int iShowCmd)
{
    PDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION);
    tbInit();
    if(!pD3D)
    {
        MessageBox(NULL, "Fehler beim erzeugen der Direct3D-Schnittstelle!", "Fehler", MB_OK | MB_ICONEXCLAMATION);
        return 1;
    }
    int iNumAdapters = pD3D->GetAdapterCount();

    D3DADAPTER_IDENTIFIER9* pAdapters = new D3DADAPTER_IDENTIFIER9[iNumAdapters];

    for(int iAdapter = 0; iAdapter < iNumAdapters; iAdapter++)
    {
        if(FAILED(pD3D->GetAdapterIdentifier(iAdapter, 0, &pAdapters[iAdapter])))
        {
            MessageBox(NULL, "Adapterinformation konnte nicht abgefragt werden!", "Fehler", MB_OK | MB_ICONEXCLAMATION);

            pD3D->Release();
            delete[] pAdapters;
            return 1;
        }

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

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

        pD3D->Release();
        delete[] pAdapters;
        tbExit();

        return 0;
}

Fehler:Kompilieren...
dx9.cpp
c:\dokumente und einstellungen\thomas\eigene dateien\visual studio 2008\projects\directxfirst\directxfirst\dx9.cpp(12) : error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [49]' in 'LPCWSTR' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
c:\dokumente und einstellungen\thomas\eigene dateien\visual studio 2008\projects\directxfirst\directxfirst\dx9.cpp(23) : error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'const char [50]' in 'LPCWSTR' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
c:\dokumente und einstellungen\thomas\eigene dateien\visual studio 2008\projects\directxfirst\directxfirst\dx9.cpp(40) : error C2664: 'MessageBoxW': Konvertierung des Parameters 2 von 'char [1024]' in 'LPCWSTR' nicht möglich
Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.


--------------------------------------------------------------------------
Wahrscheinlich wurde diese Frage schon zich mal gestellt aber ich finde leider keine Antwort hier im Forum. Also bitte zerfleischt mich nicht :oops:
MfG Xenon
MfG Xenon

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

14.01.2010, 19:56

Entweder Unicode abschalten oder das TEXT() Makro verwenden:


(Link)

Bösewicht

unregistriert

3

14.01.2010, 23:15

Mit Screenshot, dass nenn ich mal ne vorbildliche Antwort dot :lol:

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

14.01.2010, 23:20

Zitat von »"Bösewicht"«

Mit Screenshot, dass nenn ich mal ne vorbildliche Antwort dot :lol:


Die Frage kommt so oft dass ich da immer nen universalscreen parat hab, der hat auch schon n paar Jahre am Buckel wie man vielleicht am OS sehen kann ;)

Bösewicht

unregistriert

5

14.01.2010, 23:22

Darf ich fragen wieviele Universalscreens für wieviele Fragen du insgesamt auf deinem Rechner hast? xD

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

14.01.2010, 23:34

n paar...ne, gar nicht so schlimm nur 4 oder 5 ;)
und nicht am Rechner sondern gleich permanent auf nem server

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

7

14.01.2010, 23:41

Naja.. 3 Jahre ist nicht so viel. :p

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

8

14.01.2010, 23:45

ich hab auch noch xp laufen und keine probleme damit oO
ich hab nur nicht dieses hässliche standarddesign^^
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

9

15.01.2010, 15:40

Ich danke für die schnelle und gute Antwort.
Die Fehler sind jetzt behoben allerdings hab ich jetzt ein neues Problem.
Und zwar lässt sich das Projekt jetzt ohne Probleme kompilieren aber wenn ich das Programm debuggen oder realesen will kommt ein neuer Fehler.

Quellcode

1
2
3
4
5
1>dx9.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Direct3DCreate9@4" in Funktion "_WinMain@16".
1>C:\Dokumente und Einstellungen\\Eigene Dateien\Visual Studio 2008\Projects\directXfirst\Debug\directXfirst.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\\Eigene Dateien\Visual Studio 2008\Projects\directXfirst\directXfirst\Debug\BuildLog.htm" gespeichert.
1>directXfirst - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Ist bestimmt irgend ein dummer Fehler aber ich find ihn einfach nicht.
Ich danke jetzt schon.
MfG Xenon
MfG Xenon

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

10

15.01.2010, 16:21

Du hast DirectX nicht richtig gelinkt. (Pfade eingetragen und Abhängigkeiten gesetzt?) Steht im Buch, wie das geht.

Werbeanzeige