c++ включая библиотеки и добавление каталогов для DirectX11

Итак, я играю с учебником DirectX, пытаясь изучить его, но я продолжаю получать эти ошибки:

   1>main.obj : error LNK2019: unresolved external symbol _D3D11CreateDeviceAndSwapChain@48
   referenced in function "void __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAXPAUHWND__@@@Z)
   1>main.obj : error LNK2019: unresolved external symbol _D3DX11CompileFromFileW@44 referenced in
   function "void __cdecl InitPipeline(void)" (?InitPipeline@@YAXXZ)

Теперь я почти уверен, что это как-то связано с включением правильных каталогов и библиотек и т. Д. Я добавил включения и установил параметры компоновщика

 #include <d3d11.h>
 #include <d3dx11.h>
 #include <d3dx10.h>
 #pragma comment (lib, "d3d11.lib")
 #pragma comment (lib, "d3dx11.lib")
 #pragma comment (lib, "d3dx10.lib")

Я также установил каталоги в свойствах конфигурации-> Каталоги VSC++ -> Включить каталоги и Lib. каталоги

Есть ли что-то еще, что мне не хватает?

Изменить: я использую Visual Studio С++ 2010 Express


person Fredrik Boston Westman    schedule 11.03.2013    source источник


Ответы (1)


1) проверьте настройки вашего компоновщика, вам нужно добавить туда свои либы

2) вы собираете x86 или x64, в зависимости от того, что библиотеки находятся в разных папках

3) в vs2010 и ранее необходимо установить DirectX SDK, поставляется вместе с vs2012 SDK

person Richard Peters    schedule 11.03.2013
comment
1. Насколько я понимаю, это то, что делают строки комментариев #pragma? я также попытался добавить их вручную с помощью параметров компоновщика 2. я добавил оба 3. у меня установлен SDK :) - person Fredrik Boston Westman; 11.03.2013
comment
Дело в том, что я работал с этим пару дней назад и вспомнил, что получил ту же ошибку. Но затем я просто добавил пути x86 и x64, и это сработало, но по какой-то причине на этот раз это не так :( Я подумал, что, должно быть, в прошлый раз я сделал что-то еще по ошибке, чтобы заставить его работать. Могу понять, что, хотя :( - person Fredrik Boston Westman; 11.03.2013
comment
о, извините, я забыл сказать. визуальная студия С++ 2010 экспресс - person Fredrik Boston Westman; 11.03.2013
comment
Вы устанавливали Directx SDK до или после установки vs2010express? - person Richard Peters; 11.03.2013
comment
После того, как я почти уверен. Но, как я уже сказал, я заставил его работать раньше. Я столкнулся с другой проблемой и решил начать сначала. Теперь это не работает :/ не могу понять, что я делаю неправильно - person Fredrik Boston Westman; 11.03.2013
comment
обычно, когда вы устанавливаете после vs2010, sdk настраивает vs2010 с путями и включает папки и некоторые определения, я почти уверен, что это из-за конфликта библиотек, он обнаруживает версии x86 и x64 и не может решить... - person Richard Peters; 11.03.2013
comment
я попробую переустановить sdk - person Fredrik Boston Westman; 11.03.2013