C++ 在我从DirectX SDK更改为Windows SDK后,链接器一直显示错误
我刚刚删除了DirectX SDK中包含的所有头文件,并转向Windows SDK,但一旦删除,链接器就会不断抱怨“未解析的外部符号”。链接器显示了大约24个错误,其中大多数错误与我在游戏中没有使用的函数有关 链接器错误:C++ 在我从DirectX SDK更改为Windows SDK后,链接器一直显示错误,c++,linker,direct3d,direct3d11,C++,Linker,Direct3d,Direct3d11,我刚刚删除了DirectX SDK中包含的所有头文件,并转向Windows SDK,但一旦删除,链接器就会不断抱怨“未解析的外部符号”。链接器显示了大约24个错误,其中大多数错误与我在游戏中没有使用的函数有关 链接器错误:错误LNK2001:未解析的外部符号“union\UUUM128\UUUU矢量调用DirectX::XMVectorMultiply(union\UUUM128,union\UUUUM128) 错误LNK2001:未解析的外部符号“union\UUUM128\UUUUU矢量调用
错误LNK2001:未解析的外部符号“union\UUUM128\UUUU矢量调用DirectX::XMVectorMultiply(union\UUUM128,union\UUUUM128)
错误LNK2001:未解析的外部符号“union\UUUM128\UUUUU矢量调用DirectX::XMVectorSubtract(union\UUUM128,union\UUUUM128)
错误LNK2001:未解析的外部符号“union\uuuum128\uuuuuuuu vectorcall DirectX::XMVector3Normalize(union\uuuum128)
错误LNK2001:未解析的外部符号“union”\uuuuum128\uuuuuuuu矢量调用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")
#包括
#包括
#包括
#包括
#包括
#包括
#include//此文件还包括DirectXMath.h
#包括
#包括
#pragma注释(lib,“D3D11.lib”)
#pragma注释(lib,“dinput8.lib”)
#pragma注释(lib,“dxguid.lib”)
#pragma注释(lib,“d3dcompiler.lib”)
如何解决这些链接器问题?我已经使用Visual Studio 2015中的Project->Properties->VC++目录->Include目录和库目录链接了适当的库和标题
在过去的一个小时左右,我一直在努力解决这个问题。有人能帮我吗?可能它们被SpriteFont中的某个东西使用了。h
SpriteFont.h
不使用任何函数。但是它包括标题SpriteBatch.h
,这个标题包括DirectXMath.h
,DirectXColors.h
,functional
,memory
和d3d11_1.h
有人能给我一些建议吗?你确定你删除了所有的DX引用(在包含方面)?这里似乎有一个间接的。includes(编译阶段)和libs(链接阶段)必须同步:如果(直接或间接)使用.h文件中的某些func,则必须针对相应的.lib进行链接。链接错误没有指定未定义符号的引用位置吗?可能重复