Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » C++ Fenster / GDI Compiler Error

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.07.2005, 00:18 Uhr
Junulon



Hi,

ich habe ein Problem...
ich benutze den
Bloodshed Software Dev C++ 4.9.9.2
Compiler.
Nun wollte ich mal die GDI ausprobieren.
also erstmal fenster erstellen

C++:
#include <windows.h>

const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
    switch(msg)
    {
        case WM_CLOSE:
            DestroyWindow(hwnd);
        break;
        case WM_DESTROY:
            PostQuitMessage(0);
        break;
        default:
            return DefWindowProc(hwnd, msg, wParam, lParam);
    }
    return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
    WNDCLASSEX wc;
    HWND hwnd;
    MSG Msg;

    //Step 1: Registering the Window Class
    wc.cbSize        = sizeof(WNDCLASSEX);
    wc.style         = 0;
    wc.lpfnWndProc   = WndProc;
    wc.cbClsExtra    = 0;
    wc.cbWndExtra    = 0;
    wc.hInstance     = hInstance;
    wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
    wc.lpszMenuName  = NULL;
    wc.lpszClassName = g_szClassName;
    wc.hIconSm       = LoadIcon(NULL, IDI_APPLICATION);

    if(!RegisterClassEx(&wc))
    {
        MessageBox(NULL, "Window Registration Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    // Step 2: Creating the Window
    hwnd = CreateWindowEx(
        WS_EX_CLIENTEDGE,
        g_szClassName,
        "The title of my window",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
        NULL, NULL, hInstance, NULL);

    if(hwnd == NULL)
    {
        MessageBox(NULL, "Window Creation Failed!", "Error!",
            MB_ICONEXCLAMATION | MB_OK);
        return 0;
    }

    ShowWindow(hwnd, nCmdShow);
    UpdateWindow(hwnd);

    // Step 3: The Message Loop
    while(GetMessage(&Msg, NULL, 0, 0) > 0)
    {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
    }
    return Msg.wParam;
}


so nun zeigt er mir diesen fehler:
[Linker error] undefined reference to `GetStockObject@4'
ld returned 1 exit status
DDev-Cpp\Makefile.win [Build Error] [window.exe] Error 1

was mache ich falsch?
manchmal kommt auch nen anderer fehler vor diesem
so ne warnung das NULL an nicht pointer typ übergeben wird oder so

C++:
    hwnd = CreateWindowEx(
        WS_EX_CLIENTEDGE,
        g_szClassName,
        "The title of my window",
        WS_OVERLAPPEDWINDOW,
        CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
        NULL, NULL, hInstance, NULL);


der wenn man nach jedem komma eine eigene zeile macht markiert er das letzte NULL
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.07.2005, 09:38 Uhr
Oliver
S2-Pixelgeneral


Hast du die GDI32.LIB mitgelinkt?
(bzw *.a für Dev)
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )

Dieser Post wurde am 30.07.2005 um 09:38 Uhr von Oliver editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.07.2005, 09:44 Uhr
Junulon



? xD
ich hab auf compile geklickt...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.07.2005, 10:42 Uhr
RedEagle



Du must unter "Neues Projekt" "Windows Application" auswählen, dann werden automatisch alles benötigten libs mitgelinkt
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
03.08.2005, 17:50 Uhr
Junulon



gut das ging nu :P
nu gleicher compiler(haha)
directdraw
nu sagt er beim prototyp der funktion:

C++:
bool xxxDDraw_Puffer_leeren(LPDIRECTDRAWSURFACE7 lpDDSurf, UCHAR Farbe);

folgendes:

Code:
23 D:\Dev-Cpp\mainddraw.cpp `LPDIRECTDRAWSURFACE7' was not declared in this scope
23 D:\Dev-Cpp\mainddraw.cpp `UCHAR' was not declared in this scope
23 D:\Dev-Cpp\mainddraw.cpp initializer expression list treated as compound expression


oben bei der cpp datei hab ich das stehen:

C++:
#include <windows.h>
#include <ddraw.h>
#include "DDraw.h"



einstellungen hab ich gemacht:
Tools->Compiler Options-> Directories

Binaries:

Code:
d:\Dev-Cpp\Bin


Libaries:

Code:
D:\Programme\Microsoft DirectX 9.0 SDK (June 2005)\Lib
d:\Dev-Cpp\lib


C Includes:

Code:
D:\Programme\Microsoft DirectX 9.0 SDK (June 2005)\Include
d:\Dev-Cpp\include


C++ Includes:

Code:
D:\Programme\Microsoft DirectX 9.0 SDK (June 2005)\Include
d:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include
d:\Dev-Cpp\include\c++\3.4.2\backward
d:\Dev-Cpp\include\c++\3.4.2\mingw32
d:\Dev-Cpp\include\c++\3.4.2
d:\Dev-Cpp\include\


und Project -> Project Options
Parameters

Linker:

Code:
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/ddraw.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/d3d9.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/d3dx9.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/d3dx9d.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/d3dxof.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/ddraw.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/dinput8.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/dinput.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/dplayx.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/dsound.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/DxErr8.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/DxErr9.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/dxguid.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x64/dxtrans.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/d3d8.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/d3d9.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/d3dx9.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/d3dx9d.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/d3dxof.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/ddraw.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/dinput8.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/dinput.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/dplayx.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/dsetup.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/dsound.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/DxErr8.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/DxErr9.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/dxguid.lib"
"../Programme/Microsoft DirectX 9.0 SDK (June 2005)/Lib/x86/dxtrans.lib"
lib/libddraw.a

Dieser Post wurde am 03.08.2005 um 17:59 Uhr von Junulon editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: