使用 C++ 在 directX 11 中的 VS 2013 中获取 LNK 2019 错误

Getting LNK 2019 errors in VS 2013 in directX 11 using C++

本文关键字:获取 LNK 2019 错误 2013 VS C++ directX 中的 使用      更新时间:2023-10-16

编译我的程序时,我收到以下错误:

Error   59  error LNK2019: unresolved external symbol _D3DXMatrixTranspose@8 referenced in function "private: bool __thiscall ColorShaderClass::SetShaderParameters(struct ID3D11DeviceContext *,struct D3DXMATRIX,struct D3DXMATRIX,struct D3DXMATRIX)" (?SetShaderParameters@ColorShaderClass@@AAE_NPAUID3D11DeviceContext@@UD3DXMATRIX@@11@Z)    D:ProgramsC++DirectX 11Tutorial 2Tutorial 1colorshaderclass.obj   Tutorial 1
Error   60  error LNK2019: unresolved external symbol _D3DX11CompileFromFileW@44 referenced in function "private: bool __thiscall ColorShaderClass::InitializeShader(struct ID3D11Device *,struct HWND__ *,wchar_t *,wchar_t *)" (?InitializeShader@ColorShaderClass@@AAE_NPAUID3D11Device@@PAUHWND__@@PA_W2@Z) D:ProgramsC++DirectX 11Tutorial 2Tutorial 1colorshaderclass.obj   Tutorial 1
Error   61  error LNK1120: 2 unresolved externals   D:ProgramsC++DirectX 11Tutorial 2DebugTutorial 1.exe  Tutorial 1

我在互联网上到处寻找答案,并尝试了我发现的所有内容,有谁知道为什么我会收到这些错误或如何修复它们?

您忘记为使用的函数链接一些库:D3DXMatrixTranspose 和 D3DX11CompileFromFile

您可以通过将相应的库添加到链接器来执行此操作:

项目 ->

[项目名称] 属性... -> 配置属性 ->链接器 ->输入 -> 其他依赖项 - 然后添加以下库:

  • D3DX10.lib
  • D3DX11.lib