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

Anonymous

unregistriert

1

07.09.2004, 21:03

VC++.net Fehler über varialben - verstehe ihn leider nciht

Hallo,
als ich eines der ersten Listings fröhlich nachschreiben wollte, gab es immer folgende Meldung:
c:\Dokumente und Einstellungen\Der Tim\Desktop\Neuer Ordner(2): warning C4101: 'pAdapterlist': Unreferenzierte lokale Variable
c:\Dokumente und Einstellungen\Der Tim\Desktop\Neuer Ordner(2): warning C4101: 'acAdapterInfo': Unreferenzierte lokale Variable
dd error LNK2019: Nicht aufgelöstes externes Symbol '_Direct3DCreate9@4', verwiesen in Funktion '_WinMain@16'
dd fatal error LNK1120: 1 unaufgelöste externe Verweise


Die Source sieh folgendermaßen aus:

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
#include <windows.h>
#include <D3D9.h>
#include <StdIO.h>



int WINAPI WinMain (HINSTANCE   hInstance,
                    HINSTANCE   hPreInstance,
                    char *      pcCmdLine,
                    int         iShowCmd)
{
    PDIRECT3D9              pAdapter = NULL;
    D3DADAPTER_IDENTIFIER9* pAdapterlist;
    char                    acAdapterInfo[1024];

    pAdapter = Direct3DCreate9(D3D_SDK_VERSION);
    if(pAdapter == NULL)
    {
        MessageBox(NULL,"Schnittstelle konnnte nicht erzeugt werden!","Fehler",MB_OK);
    }
    else
    {
        MessageBox(NULL,"Schnittstelle konnte initialisiert werden!","OK",MB_OK);
    }
}


Hinzu kann ich die iostream nicht einbinden :-(

könnte mir jemand zu diesem Problem helfen?
Vielen dank im voraus

mfg der dude :-)

2

07.09.2004, 21:20

Also als erstes einmal. Würd ich sagen, das du dir einmal die Doku der Fehlermeldungen durchliest. Denn die sind (sofern du eine gekaufte Version hast. Wovon ich ausgehe ;) ) sogar in Deutsch ist.


Zum anderen. Die ersten beiden Fehler sind keine Fehler sondern Warnungen und bedeuten schlicht das du Variablen Deklariert hast, die du aber nicht verwendest ;)

Der Linker-Fehler sollte inzwischen allen klar sein und wurde auch schon zu genüge Disskutiert. Mal ins Buch schauen und die Such-Funktion benutzen.


Was dein iostream-Problem angeht: Was heißt nicht einbinden? iostream ist ein STL-Container und alles was man dafür brauch ist die iostream-Header. Beschreib das Problem mal etwas genauer.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Anonymous

unregistriert

3

08.09.2004, 09:21

Vielen dank,

aber welches buch meinst du

mfg der dude muss jetzt auch schnell weg :-) - lehrer kommt

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

4

08.09.2004, 09:40

Hi,

die stdio.h brauchste net, falls doch benutz bitte <cstdio> ;)

Anonymous

unregistriert

5

08.09.2004, 10:21

hi patrick,
ich kenne die stlib.h nur aus c. so wie ich es verstanden habe wird immer die iostream für c++ verwendet. dort sind die standardfunktionen enthalten. Wenn ich unter borland die iostream.h - .h, da er nicht den namensbereich annimmt - kann ich damit arbeiten. unter dem vs nimmt er nicht die iostream an :-( kannst du mir sagen wieso?

mfg
der dude ;p

6

08.09.2004, 23:44

Wieso Buch? Habe nichts von einem Buch gesagt. Ich sprach von der Dokumenation (oder auch oft MSDN genannt ;) ). Die ist bei einer in Deutschlande gekauften Version immer (teilweise) auf Deutsch mit dabei.


Also ich weis ja nicht wie alt dein Borland ist, aber wenn es schon für C++ ausgelegt ist, dann sollte er auch die Namensbereiche kennen. Generell sollte man von der nutzung von iostream.h und co. nie benutzten. Gründe dafür wurde schon oft hier im Forum angesprochen.
Entweder nutzt du die Std. C Bibliothek oder aber die STL (ohne .h).

Mit .h gibbet keinen Namensbereich ansonsten gibbet die selben Container wie bei ohne .h auch.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

7

09.09.2004, 14:29

Vielen Danke,
habe das Problem beseitigt :-)
ps. bist du auch unter icq zu erreichen?

mfg der dude ;p
"Wenn ich morgens doppelt so schnell über den Flur laufe, kann ich 2 Minuten länger schlaften!" - leider war es ein Irrtum.

Werbeanzeige