Я перехожу с Visual Studio Express на NetBeans с MinGW. Однако я не могу решить один из них:
#include <dwmapi.h>
#pragma comment(lib, "dwmapi.lib")
Однако следующие включения, кажется, работают:
#include <d3d9.h>
#include <d3dx9.h>
#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "d3dx9.lib")
Мне пришлось добавить DirectX SDK к компоновщику и включить параметры компилятора (-I и -l). Однако я не знаю, как это сделать с dwmapi.h, потому что я не загружал никакой другой SDK.
Кто-нибудь знает, как решить эту проблему? Заранее большое спасибо.
MinGW включает в себя множество модифицированных заголовков Win API. Если вы используете MinGW w64, регистрироваться
%MINGW_HOME%/x86_64-w64-mingw32/include/
В противном случае вы можете использовать заголовки по умолчанию из Windows SDK. Но вряд ли они будут компилироваться. Но вы можете попробовать скопировать его, отредактировать (удалить все макросы украшений Microsoft) и заставить его работать.
Вот путь включения для Win 8.1 SDK:
C:\Program Files (x86)\Windows Kits\8.1\Include\um
Зарядите свою систему поиска файлов, чтобы найти свою.
Обратите внимание, что MinGW GCC не поддерживает линкерные прагмы:
#pragma comment(lib, ...
Вам нужно будет связать все библиотеки в опциях командной строки g++
(в Makefile, scrpt, что угодно).
Других решений пока нет …