@kaktak255

Как решить эту ошибку?

Нашел такой код:
#define UNICODE
#include <windows.h>

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, INT iCmdShow)
{
   HWND                hWnd;
   MSG                 msg;
   WNDCLASS            wndClass;
   
   wndClass.style          = CS_HREDRAW | CS_VREDRAW;
   wndClass.lpfnWndProc    = WndProc;
   wndClass.cbClsExtra     = 0;
   wndClass.cbWndExtra     = 0;
   wndClass.hInstance      = hInstance;
   wndClass.hIcon          = LoadIcon(NULL, IDI_APPLICATION);
   wndClass.hCursor        = LoadCursor(NULL, IDC_ARROW);
   wndClass.hbrBackground  = (HBRUSH)GetStockObject(WHITE_BRUSH);
   wndClass.lpszMenuName   = NULL;
   wndClass.lpszClassName  = L"TestWND";
   
   RegisterClass(&wndClass);
   
   hWnd = CreateWindow(
      L"TestWND",
      L"Test Window",
      WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT,
      CW_USEDEFAULT,
      320,
      240,
      0,0,hInstance,0);
      
   ShowWindow(hWnd, iCmdShow);
   UpdateWindow(hWnd);
   
   while(GetMessage(&msg, NULL, 0, 0))
   {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }
   
   return 0;
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, 
   WPARAM wParam, LPARAM lParam)
{

   switch(message)
   {
   case WM_DESTROY:
      PostQuitMessage(0);
      return 0;
   default:
      return DefWindowProc(hWnd, message, wParam, lParam);
   }
}

При компиляции ошибка:
C:\Users\Artem\AppData\Local\Temp\ccia69P4.o:learn.cpp:(.text+0x7f): undefined reference to `__imp_GetStockObject'
collect2.exe: error: ld returned 1 exit status


Что делать?

-------------------------------------------------------------
Решение:
Добавление -lgdi32 при компиляции.

g++ -o learn learn.cpp -lgdi32
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
Добавить gdi32.dll в импорты линкера
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы