DirectX 12 SDK LNK2001

DirectX 12 SDK LNK2001

我不断收到此 link 错误:

error LNK2001: unresolved external symbol D3D12SerializeRootSignature

即使我有 SDK linked 并添加到 C/C++ 和 VC++

我用这条线...

#pragma comment(lib,"d3d12.lib")

… 在包含文件中确保 d3d12.lib 对链接器可见。

对于使用 cmake 的人来说,这就是答案:

target_link_libraries(foo PRIVATE "d3d12.lib")

完全不是贬低你的回答。但我个人喜欢在构建系统中而不是在源代码中描述构建系统方面。

https://cmake.org/

编辑:

此外,随着 DX12 进入 Linux 的 Windows 子系统,这个 cmake 答案更加相关:

https://devblogs.microsoft.com/directx/directx-heart-linux/