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

SullY

Treue Seele

  • »SullY« ist der Autor dieses Themas

Beiträge: 103

Wohnort: Vor dem PC :P

Beruf: Schulbankdrücker, Samstagsprospektzeitungsjunge,

  • Private Nachricht senden

1

16.11.2012, 19:07

[ GELÖST ] Debugversion funktioniert. Release nicht ?

Ich habe folgenden Code der einfach Direct3D initialisiert geschrieben:

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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Medieval
#include <d3d9.h>

//  Devices
LPDIRECT3D9 g_pD3 = NULL;
LPDIRECT3DDEVICE9 g_pD3D = NULL;

// F: Init()
// Parameters: HWND
// By SullY
HRESULT Init( HWND hWnd)
{
    if( NULL==( g_pD3 = Direct3DCreate9( D3D_SDK_VERSION)))
        return E_FAIL;
        
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( &d3dpp, sizeof(d3dpp));
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
    
    if( FAILED( g_pD3->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &g_pD3D)))
        return E_FAIL;
        
    return S_OK;
}
// F: CleanUp()
// Parameters: No
// By SullY
VOID CleanUp()
{
    if( g_pD3 != NULL)
        g_pD3->Release();
    if( g_pD3D != NULL)
        g_pD3D->Release();
}

// F: Render()
// Parameters: No
// By SullY
VOID Render()
{
    if( NULL == g_pD3D)
        return;
    
    g_pD3D->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 0, 0, 255), 1.0f, 0);
    if( SUCCEEDED( g_pD3D->BeginScene()))
    {
    
        g_pD3D->EndScene();
    }
    g_pD3D->Present( NULL, NULL, NULL, NULL);   
}

// F: MsgProc()
// Parameters: HWND, UINT, WPARAM, LPARAM
// By SullY
LRESULT WINAPI MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_DESTROY:
            CleanUp();
            PostQuitMessage(0);
            return 0;
        case WM_PAINT:
            Render();
            ValidateRect( hWnd, NULL);
            return 0;
    }
    return DefWindowProc( hWnd, msg, wParam, lParam );
}

// F: wWinMain()
// Parameters: 
// By SullY
INT WINAPI wWinMain( HINSTANCE hInst, HINSTANCE, LPWSTR, INT)
{
    UNREFERENCED_PARAMETER( hInst );
    
    WNDCLASSEX wc ={ sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc, 0L, 0L, GetModuleHandle( NULL ), NULL, NULL, NULL, NULL, L"Medieval", NULL};
    RegisterClassEx( &wc );
    
    HWND hWnd = CreateWindow( L"Medieval", L"Medieval", WS_OVERLAPPEDWINDOW, 300, 300 , 300, 300, NULL, NULL, wc.hInstance, NULL);
    
    if( SUCCEEDED( Init( hWnd)))
        {
            ShowWindow( hWnd, SW_SHOWDEFAULT);
            UpdateWindow( hWnd );
            
            MSG msg;
            
            while( GetMessage( &msg, NULL, 0, 0))
            {
                TranslateMessage( &msg );
                DispatchMessage( &msg );
            }
        }
        
        UnregisterClass( L"Medieval", wc.hInstance );
        return 0;
}


Das Problem ist beim compilieren ist die Releaseversion garnicht komliert wird es kommt immer der fehler:

1>------ Erstellen gestartet: Projekt: Medieval, Konfiguration: Release Win32 ------
1>Main.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_Direct3DCreate9@4".
1>C:\Users\Julian\documents\visual studio 2010\Projects\Medieval\Medieval\Release\Medieval.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Die Debugversion läuft wie geschmiert.
Spruch Lädt... 99 % . Verbindung abgestürzt.

My best Code is written with the Delete Key.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »SullY« (16.11.2012, 19:13)


dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

16.11.2012, 19:09

Naja, du hast eben vergessen, im Release Build die d3d9.lib zu linken...

SullY

Treue Seele

  • »SullY« ist der Autor dieses Themas

Beiträge: 103

Wohnort: Vor dem PC :P

Beruf: Schulbankdrücker, Samstagsprospektzeitungsjunge,

  • Private Nachricht senden

3

16.11.2012, 19:12

Ach, das muss man extra linken? 8|
Danke Dot.
Immer gute Antworten parat :)
Spruch Lädt... 99 % . Verbindung abgestürzt.

My best Code is written with the Delete Key.

Werbeanzeige