Я работаю над проектом DirectX 11, и я столкнулся со странной ошибкой компоновки.
Функция D3DX11CreateShaderResourceViewFromFile выдает ошибку LNK2019.
Я скучаю по библиотеке? Я могу добраться до объявления в d3d11tex.h, но программа не находит реализацию.
Что мне не хватает? Кажется, я включил и сослался на все, что мне нужно … кроме того, как я уже говорил, я могу достичь декларации.
Ошибка:
Ошибка 1, ошибка LNK2019: неразрешенный внешний символ _D3DX11CreateShaderResourceViewFromFileW @ 24, указанный в функции «public: __thiscall Texture2d :: Texture2d (struct ID3D11Device *, wchar_t *)» (?? 0Texture2d @@ QAE @ PAUID3DW): 4 \ Курсовая работа \ Курсовая работа \ Курсовая работа \ Texture2d.obj Курсовая работа
Вот код (.cpp), включающий:
#include <d3d11.h>
#include <d3dx11.h>
Texture2d::Texture2d(ID3D11Device* device, WCHAR* fileName)
{
D3DX11CreateShaderResourceViewFromFile(device, fileName, NULL, NULL, &m_texture, NULL);
}
Библиотечный каталог:
C: \ Program Files (x86) \ Microsoft DirectX SDK (июнь 2010 г.) \ Lib \ x86
Включить каталоги:
C: \ Program Files (x86) \ Microsoft DirectX SDK (июнь 2010 г.) \ Включить
C: \ Program Files (x86) \ Microsoft DirectX SDK (июнь 2010 г.) \ Samples \ C ++ \ Effects11 \ Inc
РЕДАКТИРОВАТЬ!
Я забыл показать ссылки на мои библиотеки, но кто-то придумал решение, даже не взглянув на него. Действительно, в нем отсутствовал d3dx11.lib.
#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "d3dcompiler.lib")
#pragma comment(lib, "dxerr.lib")
#pragma comment(lib, "Effects11.lib")
Задача ещё не решена.
Других решений пока нет …