Получение разрешения экрана в C, без "windows.h" - PullRequest
0 голосов
/ 21 ноября 2018

Просто работаю над небольшим проектом с использованием SDL2 ...

Информация о системе : Windows

Информация о приложении : с использованием C (чистый C, без c ++), mingw-x64 & SDL2.

Now;

Во-первых, SDL.h требует, чтобы функция main была переименована в WinMain.

С другой стороны, при получении разрешения экрана я обычно использовал функцию GetSystemMetrics, которая требует включения windows.h в раздел препроцессора, и на этом этапе WinMain в моем коде конфликтует с WinMain объявлено ранее в winbase.h.Когда я использую оба (SDL.h и windows.h), компилятор отвечает:

предыдущее объявление 'WinMain' было здесь: int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd);

Этопотому что WinMain объявлено где-то в winbase.h, который автоматически включается через windows.h.

Есть ли способ получить разрешение экрана без использования GetSystemMetrics / windows.h?Есть еще идеи?

1 Ответ

0 голосов
/ 23 ноября 2018

Хорошо!Я понял, что я делаю неправильно ...

На этапе компоновки я использовал следующие библиотеки, и компоновщик жаловался на то, что функция WinMain не найдена.

-lSDL2main
-lSDL2

Затем я добавил библиотеку mingw32, как показано ниже, и проблема была решена (я думаю, порядок библиотек имеет значение).

-lmingw32
-lSDL2main
-lSDL2
...