Linker продолжает показывать ошибки после того, как я перешел с DirectX SDK на Windows SDK

Я только что удалил все заголовки, которые были включены в DirectX SDK, и перешел к Windows SDK, но как только я это сделал, компоновщик постоянно жалуется на «неразрешенный внешний символ». Компоновщик показывает около 24 ошибок, и большинство из этих ошибок связаны с функциями, которые я даже не использую в своей игре.

Ошибки компоновщика: error LNK2001: unresolved external symbol "union __m128 __vectorcall DirectX::XMVectorMultiply(union __m128,union __m128)

ошибка LNK2001: unresolved external symbol "union __m128 __vectorcall DirectX::XMVectorSubtract(union __m128,union __m128)

ошибка LNK2001: unresolved external symbol "union __m128 __vectorcall DirectX::XMVector3Normalize(union __m128)

ошибка LNK2001: unresolved external symbol "union __m128 __vectorcall DirectX::XMVectorSet(float,float,float,float)

Я не использовал XMVector3Normalize(), XMVectorSubtract() и XMVectorMultiply() в своем приложении, но использовал XMVectorSet().

Большинство этих функций являются частью DirectXMath.h, так что тут может быть не так.

В любом случае, я не знаю, поможет ли это, но ниже приведены все заголовки, которые я использовал в своем приложении.

#include <windows.h>
#include <D3D11.h>                      
#include <dinput.h> 
#include <SimpleMath.h>
#include <D3Dcompiler.h>
#include <sstream>
#include <SpriteFont.h>      //This file also includes DirectXMath.h
#include <DDSTextureLoader.h>
#include <WICTextureLoader.h>

#pragma comment (lib, "D3D11.lib")
#pragma comment (lib, "dinput8.lib")
#pragma comment (lib, "dxguid.lib")
#pragma comment (lib, "d3dcompiler.lib")

Что я могу сделать, чтобы исправить эти проблемы с компоновщиком? Я уже связал соответствующие библиотеки и заголовки, используя Project->Properties->Каталоги VC++ ->Включить каталоги и каталоги библиотек в Visual Studio 2015.

Я пытался решить эту проблему в течение последнего часа или около того. Может кто-нибудь помочь мне?


person Soon_to_be_code_master    schedule 15.11.2015    source источник
comment
Может быть, они используются чем-то в SpriteFont.h?   -  person 1201ProgramAlarm    schedule 15.11.2015
comment
SpriteFont.h не использует ни одну из функций. Но он включает заголовок SpriteBatch.h, а этот заголовок включает DirectXMath.h, DirectXColors.h, functional, memory и d3d11_1.h   -  person Soon_to_be_code_master    schedule 15.11.2015
comment
Кто-нибудь может дать мне совет по этому вопросу?   -  person Soon_to_be_code_master    schedule 15.11.2015
comment
Вы уверены, что удалили все ссылки на DX (с точки зрения включения)? кажется, что здесь мы имеем дело с косвенным. Включения (фаза компиляции) и библиотеки (фаза компоновки) должны быть синхронизированы: если вы используете (прямо или косвенно) какую-либо функцию из файла .h, вы должны связать ее с соответствующим . библиотека . Также не указывает ли ошибка ссылки, откуда ссылается неопределенный символ?   -  person CristiFati    schedule 16.11.2015
comment
Вы уже задал тот же вопрос. Пожалуйста, попросите помощи только один раз.   -  person legalize    schedule 21.11.2015