JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=5c2cae2f8bf6e03de79d3fd08c4f342eMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Nichtaufgeloestes externes Symbol ??

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Cyb3r
Mini JLI'ler



Anmeldedatum: 19.01.2003
Beiträge: 7

Medaillen: Keine

BeitragVerfasst am: 19.01.2003, 20:04    Titel: Nichtaufgeloestes externes Symbol ?? Antworten mit Zitat

VOID InitDD7()
{
LPDIRECTDRAW7 lpDD7 = NULL;
LPDIRECTDRAW lpSTDDD;
LPDIRECTDRAWSURFACE7 lpDDSPrimary = NULL;
DDSURFACEDESC2 ddsd;
LPDIRECTDRAWCLIPPER lpDDClipper = NULL;
DirectDrawCreateEx(NULL, (LPVOID*)&lpDD7, IID_IDirectDraw7, NULL);
DirectDrawCreate(NULL, &lpSTDDD, NULL);
lpSTDDD->QueryInterface(IID_IDirectDraw7, (LPVOID*)lpDD7);
lpSTDDD->Release();
lpDD7->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
ZeroMemory(&ddsd, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_VIDEOMEMORY;
lpDD7->CreateSurface(&ddsd, &lpDDSPrimary, NULL);
lpDD7->CreateClipper(NULL, &lpDDClipper, NULL);
lpDDClipper->SetHWnd(0, hWnd);
lpDDSPrimary->SetClipper(lpDDClipper);
}

-------------------------------------

Wintest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _DirectDrawCreateEx@16
Wintest.obj : error LNK2001: Nichtaufgeloestes externes Symbol _IID_IDirectDraw7
Debug/Wintest.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Test.exe - 3 Fehler, 0 Warnung(en)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Compuholic
Mini JLI'ler



Anmeldedatum: 15.10.2002
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 19.01.2003, 21:06    Titel: Antworten mit Zitat

Du mußt die Bibliotheken "ddraw.lib" und "dxguid.lib" in den Linker-Optionen angeben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyb3r
Mini JLI'ler



Anmeldedatum: 19.01.2003
Beiträge: 7

Medaillen: Keine

BeitragVerfasst am: 19.01.2003, 22:12    Titel: Antworten mit Zitat

hab ich
aber ich hab trotzdem irgendwie den verdacht das was mit meinem DirectX SDK nich stimmt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ranma
JLI'ler



Anmeldedatum: 10.12.2002
Beiträge: 167
Wohnort: Cadolzburg
Medaillen: Keine

BeitragVerfasst am: 20.01.2003, 13:15    Titel: Antworten mit Zitat

hast die sdk bei vc++ denn ein gestellt Question
wenn nicht, dann tus siehe s.270 in chris buch Cool
_________________
"Deutsche Sprache schwere Sprache"
sprach der C++er
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
cstrike-zocker_69
Mini JLI'ler



Anmeldedatum: 16.01.2003
Beiträge: 10

Medaillen: Keine

BeitragVerfasst am: 20.01.2003, 13:40    Titel: Antworten mit Zitat

dumusst des erst einstellen
_________________
Ich bin der beste cstrike-zocker der welt!!! Twisted Evil
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 20.01.2003, 14:16    Titel: Antworten mit Zitat

Zum x-ten Mal: Du musst die Verzeichnisse für die Include- und Bibliotheksdateien ganz nach oben schieben in den Verzeichnislisten. Außerdem musst du für jedes Projekt die Bibliotheken noch einbinden(unter Projekteinstellungen).
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyb3r
Mini JLI'ler



Anmeldedatum: 19.01.2003
Beiträge: 7

Medaillen: Keine

BeitragVerfasst am: 20.01.2003, 15:11    Titel: Antworten mit Zitat

jaja
das steht alles im buch und hab ich auch gemacht
aber ich überprüfe nochmal alles danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cyb3r
Mini JLI'ler



Anmeldedatum: 19.01.2003
Beiträge: 7

Medaillen: Keine

BeitragVerfasst am: 20.01.2003, 19:42    Titel: Antworten mit Zitat

so ich hab C++ und das DXSDK neu installiert und alles eingestellt,
Programm wird ohne fehler kompiliert. Beim Ausführen kommt folgende Fehlermeldung:

Die Anweisung in "0x0000000000" verweist auf Speicher in "0x0000000000". Der Vorgang "read" konnte nicht auf dem Speicher durchgeführt werden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Christian Rousselle
Site Admin


Alter: 48
Anmeldedatum: 19.07.2002
Beiträge: 1630

Medaillen: Keine

BeitragVerfasst am: 20.01.2003, 21:07    Titel: Antworten mit Zitat

Code:

VOID InitDD7()
{
LPDIRECTDRAW7 lpDD7 = NULL;
LPDIRECTDRAW lpSTDDD;
LPDIRECTDRAWSURFACE7 lpDDSPrimary = NULL;
DDSURFACEDESC2 ddsd;
LPDIRECTDRAWCLIPPER lpDDClipper = NULL;
DirectDrawCreateEx(NULL, (LPVOID*)&lpDD7, IID_IDirectDraw7, NULL);
DirectDrawCreate(NULL, &lpSTDDD, NULL);
lpSTDDD->QueryInterface(IID_IDirectDraw7, (LPVOID*)lpDD7);
lpSTDDD->Release();
lpDD7->SetCooperativeLevel(hWnd, DDSCL_NORMAL);
ZeroMemory(&ddsd, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE | DDSCAPS_VIDEOMEMORY;
lpDD7->CreateSurface(&ddsd, &lpDDSPrimary, NULL);
lpDD7->CreateClipper(NULL, &lpDDClipper, NULL);
lpDDClipper->SetHWnd(0, hWnd);
lpDDSPrimary->SetClipper(lpDDClipper);
}


Das ist auch kein Wunder, dass hier wenig funktioniert. Du deklarierst (lokale) Variablen in einer Funktion und dann? Was machst du dann damit?
Man müßte man den Rest deines Codes sehen, schau dir doch nochmal an, was lokale Variablen sind und wie man sie benutzt.

Christian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Cyb3r
Mini JLI'ler



Anmeldedatum: 19.01.2003
Beiträge: 7

Medaillen: Keine

BeitragVerfasst am: 21.01.2003, 12:17    Titel: Antworten mit Zitat

Für den anfang hab ich überhauptnichts damit gemacht wollte nur DX initialisieren.

Die Variablen sind in meinem Programm nicht lokal das hab ich der einfachheit halber da reingeschrieben beim post
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 22.01.2003, 18:47    Titel: Antworten mit Zitat

Debug doch mal und poste den Code, der nicht funktioniert.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
DerJJ
Junior JLI'ler



Anmeldedatum: 24.12.2002
Beiträge: 84

Medaillen: Keine

BeitragVerfasst am: 22.01.2003, 20:32    Titel: Antworten mit Zitat

Also ich hab ein ähnliches Problem, ich versuche nur mit GDI ein bild auszugeben und es kommt diese Fehlermeldung:
Code:

Kompilierung läuft...
main.cpp
Linker-Vorgang läuft...
main.obj : error LNK2001: Nichtaufgeloestes externes Symbol "long __stdcall WindowFunc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowFunc@@YGJPAUHWND__@@IIJ@Z)
Debug/Test.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Test.exe - 2 Fehler, 0 Warnung(en)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Compuholic
Mini JLI'ler



Anmeldedatum: 15.10.2002
Beiträge: 25

Medaillen: Keine

BeitragVerfasst am: 25.01.2003, 10:19    Titel: Antworten mit Zitat

@DerJJ

Kann zwei Ursachen haben:

1. Entweder du verwendest eine Funktion, die in einer Bibliothek implementiert ist aber Du hast vergessen diese Bibliothekl bei den Linker-Optionen einzutragen.

2. Oder die Funktion ist in deinem Programm selbst implementiert aber Die Funktionsdefinition im Header weicht von der tatsächlichen ab. Passiert z.B. wenn die Parameter nicht übereinstimmen. (Beispiel MessageHandler: In der Funktion wird als 2. Parameter ein UINT-Datentyp erwartet aber in der Definition steht ein MSG-Datentyp).

[edit]
Hmm, soll WindowFunc der Message Handler bei deinem Programm sein? ich dachte immer die Parameter 3 und 4 sind DWORDs (genauer gesagt vom Typ WPARAM und LPARAM)
[/edit]

@Cyb3r:
So ein Fehler kommt i.d.R bei einem ungültigen Pointer vor. Lösung: Programm debuggen und nach jeden Schritt die Variablenwerte überprüfen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum