Я пытаюсь использовать библиотеку DirectXTex, но каждый раз компилятор выдает одну ошибку за другой. В частности, я хочу использовать заголовки DDSTextureLoader.h
и WICTextureLoader.h
, чтобы я мог использовать функции CreateWICTextureFromFile
и CreateDDSTextureFromFile
, чтобы я мог загружать текстуры в свое приложение Direct3D11. Но компилятор выдает мне 3 ошибки:
Function 'DXGI_FORMAT MakeSRGB (DXGI_FORMAT)' already has a body
'=': unable to resolve function overload
эта ошибка повторяется 2 раза
'SetDebugObjectName': ambiguous call to overloaded function
эта ошибка повторяется 3 раза
Компилятор же говорит, что эти ошибки исходят из файла WICTextureLoader.cpp
Я не уверен, что делать, чтобы исправить эти ошибки... Ниже приведен мой код (я включил все файлы заголовков, которые я использовал в своей игре)
#include <windows.h>
#include <D3D11.h>
#include <dinput.h>
#include <D3Dcompiler.h>
#include <DDSTextureLoader.h>
#include <WICTextureLoader.h>
#include <sstream>
#include <SimpleMath.h>
#include <SpriteFont.h>
#include "DDSTextureLoader.cpp"
#include "WICTextureLoader.cpp"
CreateDDSTextureFromFile(device, L"SpaceSky512.dds", &SkyTexture, &SkyTextureResource);
CreateWICTextureFromFile(device, DevContext, L"grass.jpg", NULL, &Texture, 0);
Я перестал использовать заголовки из устаревшего DirectX SDK и начал использовать Windows SDK, как и большинство людей. Но как я могу исправить ошибки компилятора?