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

Jonsen

Frischling

  • »Jonsen« ist der Autor dieses Themas

Beiträge: 36

Wohnort: Unter der Brücke

  • Private Nachricht senden

1

14.01.2009, 19:43

Problem beim 1. Projekt ^^

Hi

1.

Quellcode

1
2
3
4
5
6
7
8
#include <iostream>
#include <windows.h>

int main()
{

    return 0;
}


Selbst daran scheitere ich ;)

Hab die Verzeichnisse, wie im Buch beschrieben eingetragen:

Includes
[list]
F:\Programmierung\TriBase-Engine\Include
F:\Programmierung\Microsoft Windows SDKs\v6.1\Include
F:\Programme\Microsoft DirectX SDK (November 2008)\Include
[/list]

Libs
[list]
F:\Programmierung\TriBase-Engine\Lib
F:\Programmierung\Microsoft Windows SDKs\v6.1\Lib\x64
F:\Programme\Microsoft DirectX SDK (November 2008)\Lib\x86
[/list]
Und beim Linker sind die eingetragen:
[list]
TriBase.lib Strmbase.lib d3d9.lib
[/list]

Und jetzt 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
37
38
1>------ Erstellen gestartet: Projekt: test, Konfiguration: Debug Win32 ------
1>Verknüpfen...
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InterlockedExchange@8" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__Sleep@4" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InterlockedCompareExchange@12" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetStartupInfoA@4" in Funktion "___tmainCRTStartup".
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(_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(_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(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:\Dokumente und Einstellungen\Andreas\Desktop\Programme\test\Debug\test.exe : fatal error LNK1120: 28 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Andreas\Desktop\Programme\test\test\Debug\BuildLog.htm" gespeichert.
1>test - 33 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



Kann das vlt daran liegen, dass ich die
[list]Windows SDK for Windows Server 2008 and .NET Framework 3.5[/list]installiert hab und nicht die 2003er?

Arbeite mit:
[list]Microsoft Visual C++ 2008 Express Edition[/list]



2.
Ich hab das DirectX SDK November 2008 installiert!
Kann ich das genauso mit den Beispielen aus dem Buch verwenden oder soll ich die alte Version installieren?


danke im Voraus
Jonsen
-=:{( <=> )}:=-

2

14.01.2009, 19:57

Zu 1: Du musst statt einer normalen Main - Funktion wie bei Konsolenanwendungen eine WinMain Funktion verwenden.

Quellcode

1
2
3
4
int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR lpCmdLine,
                     int nCmdShow )

Zu 2: Nein macht nix.

Jonsen

Frischling

  • »Jonsen« ist der Autor dieses Themas

Beiträge: 36

Wohnort: Unter der Brücke

  • Private Nachricht senden

3

14.01.2009, 20:26

ok, danke!

Der Fehler bleibt aber (leider) !

Code jetzt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <windows.h>
#include <TriBase.h>
#include <d3d9.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
    MSG Message;

    ZeroMemory(&Message, sizeof(MSG));
    while(Message.message != WM_QUIT)
    {
        while(PeekMessage(&Message, NULL, 0, 0, PM_REMOVE))
        {
            TranslateMessage(&Message);
            DispatchMessage(&Message);
        }
    }
    
    return false;
}



Fehlermeldung jetzt (oder immernoch):

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
37
38
39
40
41
42
1>------ Erstellen gestartet: Projekt: test2, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>main.cpp
1>Verknüpfen...
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__DispatchMessageW@4" in Funktion "_WinMain@16".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__TranslateMessage@4" in Funktion "_WinMain@16".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__PeekMessageW@20" in Funktion "_WinMain@16".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InterlockedExchange@8" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__Sleep@4" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__InterlockedCompareExchange@12" in Funktion "___tmainCRTStartup".
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__GetStartupInfoA@4" in Funktion "___tmainCRTStartup".
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(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(_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(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:\Dokumente und Einstellungen\Andreas\Desktop\Programme\test2\Debug\test2.exe : fatal error LNK1120: 30 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Andreas\Desktop\Programme\test2\test2\Debug\BuildLog.htm" gespeichert.
1>test2 - 35 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========



:idea:
-=:{( <=> )}:=-

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

4

14.01.2009, 20:44

F:\Programmierung\Microsoft Windows SDKs\v6.1\Lib\x64

kann es sein dass du ein zu neues sdk verwendest? ich durfte auch nicht die vista version nehmen sondern die xp version, dann gings (hab aber auch selber xp)

5

14.01.2009, 21:02

Hast du Kernel32.lib, User32.lib und Coredll.lib gelinkt?
fka tm

Jonsen

Frischling

  • »Jonsen« ist der Autor dieses Themas

Beiträge: 36

Wohnort: Unter der Brücke

  • Private Nachricht senden

6

14.01.2009, 21:03

Es geht!

Hab das "x64" weggelassen.

=> der neue Windows SDK-Lib-pfad jetzt:
<F:\Programmierung\Microsoft Windows SDKs\v6.1\Lib\>
-=:{( <=> )}:=-

Werbeanzeige