Как подключить файл в программе на C

Я использую gcc и vscode. Я написал #include<d2d1.h> и во время компиляции появляется ошибка d2d1.h: No such file or directory. Я понимаю, что этого файла нет на на компьютере, как мне скачать, подключить это файл? Подскажите, пожалуйста. Спасибо.

#include<stdio.h>
#include<windows.h>
#include<d2d1.h>

int main(int argc, char const *argv[])
{
    return 0;
}

Ответы (2 шт):

Автор решения: bog

@Андрей в комментарии: gcc обычно выступает, как компилятор Си. С помощью g++ обычно компилируется код на C++. Попробуйте:

g++ -o main.exe main.c

И в комментарии: Скорее всего, d2d1.h идёт в базовой поставке Windows, т. к. инструкций по его загрузке найти не удалось. Можете убедиться в этом, выполнив поиск в папке C:/Windows/.

→ Ссылка
Автор решения: MSDN.WhiteKnight

На самом деле, в папке C:/Windows/ можно найти разве что бинарник d2d1.dll. Правильный ответ дал участник t3f, этот заголовочный файл поставляется с Windows SDK (в том числе с урезанной версией, которая входит в Visual Studio). У меня, например, он находится в папке C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include.

И с языком С этом заголовочный файл в принципе совместим, так как в нем помимо интерфейсов C++ определены специальные макросы для вызова методов через указатель в vtable, типа такого:

#define ID2D1RenderTarget_CreateBitmap(This, size, srcData, pitch, bitmapProperties, bitmap) \
    ((This)->lpVtbl->CreateBitmap(This, size, srcData, pitch, bitmapProperties, bitmap))
→ Ссылка