Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
MarcW Mini JLI'ler
Anmeldedatum: 22.02.2006 Beiträge: 4
Medaillen: Keine
|
Verfasst am: 22.02.2006, 13:36 Titel: etliche Fehlermeldungen beim Kompilieren der Buch-Beispiele |
|
|
Hallo zusammen!
Okay, ich nehme es vorweg: Ich bin ganz neu dabei in Sachen C++ und DX. Daher kann ich natürlich nicht ausschliessen, daß ich einfach nur was ganz simples übersehen habe.
Ich erhalte beim Kompilieren der Code-Beispiele von der Buch-CD ständig Fehlermeldungen (s.u.)
Zuerstmal zu meiner Installation: Ich habe zuerst die Autorenversion von C++ installiert. Anschliessend das DX9 SDK. Dann habe ich das Lib und das Include-Verzeichnis aus der DX SDK in C++ eingebunden. Soweit sollte es das ja gewesen sein.
Wenn ich jetzt z.B. die Datei main.cpp aus Kapitel 29, 3DOBJECTS aufrufe, wird zuerst ein neuer Projekt-Arbeitsbereich angelegt. Anschliessend wird folgende Meldung ausgegeben:
--------------------------------------
--------------------------------------
Linker-Vorgang läuft...
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CDirect3D::CDirect3D(void)" (??0CDirect3D@@QAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual __thiscall CDirect3D::~CDirect3D(void)" (??1CDirect3D@@UAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CScene::CScene(void)" (??0CScene@@QAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual __thiscall CScene::~CScene(void)" (??1CScene@@UAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CResourceManager::CResourceManager(void)" (??0CResourceManager@@QAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual __thiscall CResourceManager::~CResourceManager(void)" (??1CResourceManager@@UAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: __thiscall CInputManager::CInputManager(void)" (??0CInputManager@@QAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: virtual __thiscall CInputManager::~CInputManager(void)" (??1CInputManager@@UAE@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CDirect3D::EndScene(void)" (?EndScene@CDirect3D@@QAEXXZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CDirect3D::DrawTextA(char const *,int,int,unsigned long)" (?DrawTextA@CDirect3D@@QAEXPBDHHK@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall CResourceManager::GetFramerate(void)" (?GetFramerate@CResourceManager@@QAEHXZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CScene::Render(void)" (?Render@CScene@@QAEXXZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CDirect3D::BeginScene(void)" (?BeginScene@CDirect3D@@QAEXXZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CScene::MoveCamera(int)" (?MoveCamera@CScene@@QAEXH@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall CInputManager::GetInput(void)" (?GetInput@CInputManager@@QAEHXZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CResourceManager::Update(void)" (?Update@CResourceManager@@QAEXXZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CScene::Init(struct IDirect3DDevice9 *,class CResourceManager *)" (?Init@CScene@@QAEXPAUIDirect3DDevice9@@PAVCResourceManager@@@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall CResourceManager::Init(struct IDirect3DDevice9 *)" (?Init@CResourceManager@@QAEHPAUIDirect3DDevice9@@@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: struct IDirect3DDevice9 * __thiscall CDirect3D::GetDevice(void)" (?GetDevice@CDirect3D@@QAEPAUIDirect3DDevice9@@XZ)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CDirect3D::SetClearColor(unsigned long)" (?SetClearColor@CDirect3D@@QAEXK@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall CDirect3D::Init(struct HWND__ *,int)" (?Init@CDirect3D@@QAEHPAUHWND__@@H@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: int __thiscall CInputManager::Init(struct HWND__ *,struct HINSTANCE__ *,int)" (?Init@CInputManager@@QAEHPAUHWND__@@PAUHINSTANCE__@@H@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CScene::EnableFloor(int)" (?EnableFloor@CScene@@QAEXH@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CScene::EnableMipMapFilter(int)" (?EnableMipMapFilter@CScene@@QAEXH@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CScene::SetRenderMode(unsigned long)" (?SetRenderMode@CScene@@QAEXK@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CScene::EnableLight(int)" (?EnableLight@CScene@@QAEXH@Z)
MAIN.OBJ : error LNK2001: Nichtaufgeloestes externes Symbol "public: void __thiscall CDirect3D::CreateScreenshot(char *)" (?CreateScreenshot@CDirect3D@@QAEXPAD@Z)
LIBCD.lib(crt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _main
Debug/MAIN.exe : fatal error LNK1120: 28 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.
MAIN.exe - 29 Fehler, 0 Warnung(en)
--------------------------------------
--------------------------------------
Bei fast allen andren Beispielen ist es ebenso. Was mache ich falsch?
Gruß Marc |
|
Nach oben |
|
|
David Super JLI'ler
Alter: 39 Anmeldedatum: 13.10.2005 Beiträge: 315
Medaillen: Keine
|
Verfasst am: 22.02.2006, 13:56 Titel: |
|
|
Hi!
Sieht aus als würden die entsprechenden LIBS fehlen.
grüße |
|
Nach oben |
|
|
MarcW Mini JLI'ler
Anmeldedatum: 22.02.2006 Beiträge: 4
Medaillen: Keine
|
Verfasst am: 22.02.2006, 13:59 Titel: |
|
|
David hat Folgendes geschrieben: |
Sieht aus als würden die entsprechenden LIBS fehlen.
grüße |
Muß ich denn noch mehr Libs einbinden als die, die im SDK zu finden sind? Ich ging davon aus, daß die Beispiele in dieser Hinsicht "idiotensicher" sind.
Gruß Marc |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 22.02.2006, 14:11 Titel: |
|
|
Das sieht eher aus, als ob die cpp-Dateien nicht gefunden werden. Arbeitest du mit dem Compiler/DXSDK von der CD oder hast du irgendetwas anderes installiert? Öffnest du die .dsw-Dateien? |
|
Nach oben |
|
|
MarcW Mini JLI'ler
Anmeldedatum: 22.02.2006 Beiträge: 4
Medaillen: Keine
|
Verfasst am: 22.02.2006, 14:15 Titel: |
|
|
Christian Rousselle hat Folgendes geschrieben: | Das sieht eher aus, als ob die cpp-Dateien nicht gefunden werden. Arbeitest du mit dem Compiler/DXSDK von der CD oder hast du irgendetwas anderes installiert? Öffnest du die .dsw-Dateien? |
Naja, also ich habe die Autorenversion von C++ von der Buch-CD installiert. Den Compiler nutze ich auch.
Ich habe auch noch Visual Basic 6.0 Studio auf dem PC. (erwähne ich nur der Vollständigkeit halber; sollte ja keine Rolle spielen)
Wenn ich die dsw-Datei öffne, kommen dieselben Fehlermeldungen.
Viele Grüße,
Marc |
|
Nach oben |
|
|
Christian Rousselle Site Admin
Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 22.02.2006, 14:39 Titel: |
|
|
Sorry, hatte ich beim ersten Lesen nicht gesehen. Der entscheidende Punkt ist der hier:
Zitat: |
Wenn ich jetzt z.B. die Datei main.cpp aus Kapitel 29, 3DOBJECTS aufrufe, wird zuerst ein neuer Projekt-Arbeitsbereich angelegt. Anschliessend wird folgende Meldung ausgegeben:
|
Wenn du das machst, legt VC ein neues Projekt an (mit dem falschen Projekttyp) und überschreibt die alte dsw. Du solltest du Beispiele neu installieren und immer nur die .dsw öffnen. |
|
Nach oben |
|
|
MarcW Mini JLI'ler
Anmeldedatum: 22.02.2006 Beiträge: 4
Medaillen: Keine
|
Verfasst am: 22.02.2006, 14:46 Titel: |
|
|
Christian Rousselle hat Folgendes geschrieben: | Sorry, hatte ich beim ersten Lesen nicht gesehen. Der entscheidende Punkt ist der hier:
Zitat: |
Wenn ich jetzt z.B. die Datei main.cpp aus Kapitel 29, 3DOBJECTS aufrufe, wird zuerst ein neuer Projekt-Arbeitsbereich angelegt. Anschliessend wird folgende Meldung ausgegeben:
|
Wenn du das machst, legt VC ein neues Projekt an (mit dem falschen Projekttyp) und überschreibt die alte dsw. Du solltest du Beispiele neu installieren und immer nur die .dsw öffnen. |
YYYYYESSS!! Ich Dummbatz!
Ich erhalte dann zwar noch die Meldung "Zugriff auf die Informationsdatei der Klassenansich nicht möglich. Informationen der Klassenansicht nicht verfügbar." aber diese hat keinen negativen Einfluß. Das Projekt läuft. Aber was soll diese Meldung?
Viele Grüße,
Marc |
|
Nach oben |
|
|
|