Biblioteka DLL

0

Mam do napisania zwykła biblioteke rysująca jakieś znaczki. Szukałem materiałów ale w kążdym znalezionym pliku wywala mi te same błędy.

 /*=============================================================================

#include "dll.h"
#include <windows.h>

void  Rysuj(HWND hwnd){

    PAINTSTRUCT ps;
    /* Rozpoczęcie rysowania. Funkcja gwarantuje dostęp 
    do okna aktualnemu wątkowi. Parametry:
        hwnd - uchwyt do okna
        ps - tam funkcja przekazuje status wykonania */
    HDC hdc = BeginPaint( hwnd, &ps );  

/* Stworzenie odpowiedniego pędzla */
    HBRUSH hBrush = CreateSolidBrush(RGB(248,238,54));
/* Wybieramy odpowiedni pędzel */
    HBRUSH hOldBrush = (HBRUSH) SelectObject(hdc, hBrush);
/* Narysowanie kółka */
    Ellipse(hdc, 200, 50, 600, 450);
/* Zmmiana koloru pędzla */
    hBrush = CreateSolidBrush(RGB(116,78,75));
    hOldBrush = (HBRUSH) SelectObject(hdc, hBrush);
/* Narysowanie kółka */
    Ellipse(hdc, 300, 150, 340, 190);
    Ellipse(hdc, 460, 150, 500, 190);
/* Zmiana koloru pędzla */
    hBrush = CreateSolidBrush(RGB(225, 30, 30));
    hOldBrush = (HBRUSH) SelectObject(hdc, hBrush);
/* Narysowanie prostokąta */
    Rectangle(hdc, 375, 200, 425, 300);
/* Wykasowanie pędzla */
    DeleteObject(hBrush);
/* Zmiana narzędzia rysującego */ 
    HPEN hPen = CreatePen(PS_SOLID, 5, RGB(255, 0, 0));
    HPEN hOldPen = (HPEN) SelectObject(hdc, hPen);
/* Narysowanie łuku */
    Arc(hdc, 300, 320, 500, 380, 300, 350, 3000, 350);
/* Wykasowanie pisaka */
    DeleteObject(hPen);
/* Zwolnienie uchwytu */    
    EndPaint( hwnd, &ps );

}

oto błędy :

  [Linker error] undefined reference to `CreateSolidBrush@4' 
  [Linker error] undefined reference to `SelectObject@8'  

i tak dalej wszystkie błędy są takiej samej budowy

0

Zlinkuj swoją bibliotekę z Gdi32.lib.

0

a jak to zrobić?
Używam Deva / qt/ Visual Studio 2010

podaj w którymkolwiek

0

Visual Studio:
prawy na projekt -> Properties -> Configuration Properties -> Linker -> upewnij się, że w Additional Dependencies jest wymieniona pozycja Gdi32.lib.

0

a możęsz to zrobić w devie? bo nie moge odpalić Visuala....
i tak i tak dzieki za pomoc

1

Nie mam najmniejszej ochoty instalować ani używać tego śmiecia i tobie też nie polecam, ale dodaj gdzieś do ustawień kompilacji przełącznik -lgdi32.

0

Dziekuje bardzo;))))

1 użytkowników online, w tym zalogowanych: 0, gości: 1