Ошибка при компиляции olcPixelGameEngine с g ++
Я пытаюсь использовать OneLoneCoder"s olcPixelGameEngine, но когда я пытаюсь скомпилировать мой файл (g++ -o YourProgName YourSource.cpp -lX11 -lGL -lpthread -lpng -lstdc++fs -std=c++17
), Я получаю сообщение об ошибке:
fatal error: dwmapi.h: No such file or directory
Я использую g++ 9.2 с MinGW. Где я найдуdwmapi.h
?
2 ответа
2 проблемы вижу сразу
Во-первых, вы не используете правильную команду сборки для MinGW, вы используете команду сборки Linux GCC, для которой требуются библиотеки, которых нет в MinGW.
Вместо этого попробуйте что-нибудь вроде этого:
g++ -o olcExampleProgram.exe olcExampleProgram.cpp -luser32 -lgdi32 -lopengl32 -lgdiplus -lShlwapi -ldwmapi -lstdc++fs -static -std=c++17
Во-вторых, вы, вероятно, используете плохую версию MinGW. Короче говоря, не все MinGW созданы равными, и в настоящее время лучшей версией (и той, которая была протестирована для компиляции приложений PGE) является версия, предоставляемая MSYS2.
Если вы хотите, вы можете проверить страницу PixelGameEngine WIKI по этой теме.
https://github.com/OneLoneCoder/olcPixelGameEngine/wiki/Compiling-on-Windows-with-Other-Compilers
Это команда сборки Linux, посмотрите на это вместо этого:https://community.onelonecoder.com/2020/05/08/lets-make-an-olcpixelgameengine-application-using-mingw/ Кроме того, в следующий раз вы, вероятно, получите более быструю помощь на сервере раздора