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

17.04.2009, 19:52

453 Linkerfehler - Was vergessen?

Guten Abend Community,

Nachdem zu Ostern ein neues Motherboard fällig war und daraufhin auch eine Windowsneuinstallation (erkannte meine SATA nicht mehr...) spinnt mein Kompiler (Microsoft Visual C++ [Express] 2008) etwas herum :lol:

Hatte aus langeweile mal eine Routine zum Erstellen eines Fensters geschrieben (wie David am Anfang vom Buch). Leider gab es happige 240 Linkerfehler. ok, ok. -> Irgendwas vergessen.
Mit Davids Programm abgeglichen. Alle Libs da, alle Includes da alle Alle da... Davids Beispielprogramm kompiliert
-> die selben Fehler

DirektX Beispielprogramm kompiliert (DAS sollte doch perfekt sein... :lol: )
453 Fehler

Quellcode

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
1>------ Erstellen gestartet: Projekt: SoftParticles, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>DXUT.cpp
1>Kompilieren...
1>DXUTcamera.cpp
1>DXUTenum.cpp
1>DXUTgui.cpp
1>DXUTmisc.cpp
1>DXUTres.cpp
1>DXUTsettingsdlg.cpp
1>SDKmesh.cpp
1>SDKmisc.cpp
1>SoftParticles.cpp
1>Ressourcen werden kompiliert...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Verknüpfen...
1>DXUT.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InitializeCriticalSectionAndSpinCount@8" in Funktion ""public: void __thiscall DXUTState::Create(void)" (?Create@DXUTState@@QAEXXZ)".
1>LIBCMTD.lib(initcrit.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__InitializeCriticalSectionAndSpinCount@8".

[...] <- Sehr viel ausgelassen

1>Debug\SoftParticles.exe : fatal error LNK1120: 254 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Users\DoubleM\Documents\Visual Studio Projects\DirectXSamples\SoftParticles\Debug\BuildLog.htm" gespeichert.
1>SoftParticles - 453 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Dann hab ich ausnahmsweise mal nachgedacht, und bin zu dem Schluss gekommen, dass ich wohl vergessen habe irgendetwas zu installieren. Aber was?
- PlatformSDK? <- frisch runtergeladen
- DirectX SDK März 2009? <- noch frischer

Hat jemand eine Idee was fehlen könnte, oder was sonst die Fehler verursachen könnte?

Schon mal vielen Dank im Voraus,

mm

2

17.04.2009, 21:58

hast du die richtigen libs im projekt eingebunden? hat jede klasse einen kon und destruktor?

3

17.04.2009, 22:28

Naja, in meinem eignene Projekt hätte das vielleicht noch sein können, aber so viel ich weiß nicht. Die selben/ähnliche Fehler treten ja auch beim Linken von den TriBase Beispielen auf (die vor der Neuinstallation einwandfrei liefen). Die Verweise zum Platform SDK und DX SDK hab ich auch eingetragen (Include & Lib).
Und die Zusätzlichen Abhängigkeiten sind soweit richtig (hat ja vorher auch funktioniert)

Weiß hier keiner was es sonst sein könnte?

4

17.04.2009, 22:34

versuch mal die kernel32.lib zu linken und schau ob die fehleranzahl schrumpft
bzw. überprüf ob "Standardbibliotheken ignorieren" in den Linkeroptionen auf Nein gestellt ist.

5

18.04.2009, 10:11

Moin Moin

Also erst mal:
kernel32.lib ist gelinkt
Jetzt die erfreulichen Neuigkeiten:
Über Nacht (während ich geschlafen habe
:lol: ) sind die Fehler weniger geworden:

Quellcode

1
1>SoftParticles - 379 Fehler, 0 Warnung(en)

Weiß zwar auch nicht worans liegt, aber wenns konstant so weitergeht sind wir irgendwann bei 0 :p
Wahrscheinlich hatte ich gestern Abend vll. mit einem Spiel o.a. (auf jeden Fall ungewollt) ein paar richtige Libs installiert.

Und zudem habe ich noch mal versucht das Platform SDK zu reparieren.
Laut dem Setup war KEINE Komponente installiert. Kann sein, dass ich den Fehlerteufel da gefunden habe,

mfg mm

6

18.04.2009, 12:16

Nein, der Fehler besteht immernoch.
Hier mal ein konkretes Beispiel:
Konsolenanwendung

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
#include <stdio.h> // :D


int main()
{
    char *c ="";
    printf("Dies ist ein Test");
    scanf(c);
    return 0;
}


gibt die Linkerfehler

Quellcode

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
1>------ Erstellen gestartet: Projekt: Test, Konfiguration: Debug Win32 ------
1>Verknüpfen...
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__IsDebuggerPresent@0" in Funktion "_DebuggerKnownHandle".
1>MSVCRTD.lib(gs_report.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__IsDebuggerPresent@0".
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__RaiseException@16" in Funktion ""int __cdecl DebuggerProbe(unsigned long)" (?DebuggerProbe@@YAHK@Z)".
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DebugBreak@0" in Funktion ""void __cdecl failwithmessage(void *,int,int,char const *)" (?failwithmessage@@YAXPAXHHPBD@Z)".
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__WideCharToMultiByte@32" in Funktion ""void __cdecl failwithmessage(void *,int,int,char const *)" (?failwithmessage@@YAXPAXHHPBD@Z)".
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__MultiByteToWideChar@24" in Funktion ""void __cdecl failwithmessage(void *,int,int,char const *)" (?failwithmessage@@YAXPAXHHPBD@Z)".
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__lstrlenA@4" in Funktion ""void __cdecl _RTC_AllocaFailure(void *,struct _RTC_ALLOCA_NODE *,int)" (?_RTC_AllocaFailure@@YAXPAXPAU_RTC_ALLOCA_NODE@@H@Z)".
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetProcAddress@8" in Funktion ""void __cdecl _RTC_AllocaFailure(void *,struct _RTC_ALLOCA_NODE *,int)" (?_RTC_AllocaFailure@@YAXPAXPAU_RTC_ALLOCA_NODE@@H@Z)".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__GetProcAddress@8".
1>MSVCRTD.lib(_error_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__LoadLibraryA@4" in Funktion ""void __cdecl _RTC_AllocaFailure(void *,struct _RTC_ALLOCA_NODE *,int)" (?_RTC_AllocaFailure@@YAXPAXPAU_RTC_ALLOCA_NODE@@H@Z)".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__LoadLibraryA@4".
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InterlockedExchange@8" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__Sleep@4" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InterlockedCompareExchange@12" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__HeapFree@12" in Funktion ""int __cdecl _RTC_GetSrcLine(unsigned char *,wchar_t *,unsigned long,int *,wchar_t *,unsigned long)" (?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z)".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__HeapAlloc@12" in Funktion ""int __cdecl _RTC_GetSrcLine(unsigned char *,wchar_t *,unsigned long,int *,wchar_t *,unsigned long)" (?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z)".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetProcessHeap@0" in Funktion ""int __cdecl _RTC_GetSrcLine(unsigned char *,wchar_t *,unsigned long,int *,wchar_t *,unsigned long)" (?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z)".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetModuleFileNameW@12" in Funktion ""int __cdecl _RTC_GetSrcLine(unsigned char *,wchar_t *,unsigned long,int *,wchar_t *,unsigned long)" (?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z)".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__VirtualQuery@12" in Funktion ""int __cdecl _RTC_GetSrcLine(unsigned char *,wchar_t *,unsigned long,int *,wchar_t *,unsigned long)" (?_RTC_GetSrcLine@@YAHPAEPA_WKPAH1K@Z)".
1>MSVCRTD.lib(_pdblkup_.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__FreeLibrary@4" in Funktion ""struct HINSTANCE__ * __cdecl GetPdbDll(void)" (?GetPdbDll@@YAPAUHINSTANCE__@@XZ)".
1>MSVCRTD.lib(unhandld.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__SetUnhandledExceptionFilter@4" in Funktion "___CxxSetUnhandledExceptionFilter".
1>MSVCRTD.lib(gs_report.obj) : error LNK2001: Nicht aufgelöstes externes Symbol "__imp__SetUnhandledExceptionFilter@4".
1>MSVCRTD.lib(gs_support.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__QueryPerformanceCounter@4" in Funktion "___security_init_cookie".
1>MSVCRTD.lib(gs_support.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetTickCount@0" in Funktion "___security_init_cookie".
1>MSVCRTD.lib(gs_support.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetCurrentThreadId@0" in Funktion "___security_init_cookie".
1>MSVCRTD.lib(gs_support.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetCurrentProcessId@0" in Funktion "___security_init_cookie".
1>MSVCRTD.lib(gs_support.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetSystemTimeAsFileTime@4" in Funktion "___security_init_cookie".
1>MSVCRTD.lib(gs_report.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TerminateProcess@8" in Funktion "___report_gsfailure".
1>MSVCRTD.lib(gs_report.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetCurrentProcess@0" in Funktion "___report_gsfailure".
1>MSVCRTD.lib(gs_report.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__UnhandledExceptionFilter@4" in Funktion "___report_gsfailure".
1>C:\Users\DoubleM\Documents\Visual Studio 2008\Projects\Test\Debug\Test.exe : fatal error LNK1120: 26 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Users\DoubleM\Documents\Visual Studio 2008\Projects\Test\Test\Debug\BuildLog.htm" gespeichert.
1>Test - 31 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Weiß jemand warum das so rummspinnt?

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

7

18.04.2009, 12:26

Du hast sicher schon einmal den falschen Header..

http://www.cplusplus.com/reference/clibrary/cstdio/printf/

Ansonsten bist du sicher, dass du alle Einstellungen richtig hast? - Bei MSVC++ 2008 sind die Standardeinstellungen alle i.O.

8

18.04.2009, 12:59

Ich hab das Programm installiert und dann wollte ich eins meiner alten Projekte kompilieren, sofort ksmen die Fehler, obwohl die vorher problemlos gelaufen sind.

Was meinst du genau mit Einstellungen?
-Verweise? (Extras->Optionen->Projekte und Projektmappen->VC++-Verzeichnisse)

Include

Quellcode

1
2
C:\Program Files\Microsoft DirectX SDK (March 2009)\Include
C:\Program Files\Microsoft SDKs\Windows\v6.1\Include
Bibliotheksdateien

Quellcode

1
2
C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib\x64
C:\Program Files\Microsoft DirectX SDK (March 2009)\Lib\x64


-Zusätzliche Abhängigkeiten?

-->Ich wüsste nicht, dass man für das Programm welche braucht

PS: Ach ja, die Includedatei, da hab ich mich wohl vertan :lol:

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

9

18.04.2009, 13:19

Zitat von »"MMAnfänger"«


PS: Ach ja, die Includedatei, da hab ich mich wohl vertan :lol:


Bedeutet das jetzt, dass es läuft?!

10

18.04.2009, 13:20

Nein, die Fehler bleiben die selben. Habe nur über meine eigene Dummheit gelacht :D

Werbeanzeige