升级到 win 10 然后我的 Direct3D11 项目不会 link

Upgraded to win 10 and then my Direct3D11 project wouldn't link

这是一个非常具体的问题,- 对此深表歉意。

我一直在使用 Direct3D 11 构建图形实时应用程序。我在 Win7 OS 上启动它。然后我升级到 Win10,当我再次尝试编译解决方案时,链接器像感染了硅微芯片的瘟疫一样吐了出来。

它在甚至不使用给定函数的对象中喷出未解析的符号。

我得出结论,大多数有问题的函数主要是 C 函数。我知道 C 函数不再包含在 C++ 头文件和库中,因此我确保明确包含所有相关的 C 库。

我已经阅读并遵循了其他大多数遇到 Windows 10 搞砸代码问题的人的解决方案。其中之一是:

我还尝试实际告诉链接器在哪里寻找 -lib 文件,以防编译器或项目错过备忘录。

在我的电脑上,Direct3D 库的位置是:C:\Program Files (x86)\Windows Kits\Lib.0.10586.0\um\arm64

如您所见,我试图强制它使用 Win10 lib 版本,以防万一。

我从一开始就试图发现自己在做一些愚蠢的事情:

我在互联网上漫游了十年(仅一个月),以找到一些解决方案,但一无所获。

我希望你们中的一些人知道我可能犯了什么蠢事。

所有建议都会有所帮助。

您很可能 link 使用与 VS 2015 不兼容的静态库,因为它使用 Universal CRT。例如,旧版 DirectX SDK 库 DXERR.LIB 在使用 VS 2015 时无法 link。确保使用 VS 2015 重建所有代码并避免使用为其他版本的 Visual C++ 构建的静态库。

您也无法在 x86 或 x64 PC link 上使用 64 位 ARM 库将您的项目 link 和 运行。

您不需要使用 Windows 10 SDK for Win32 桌面应用程序,尽管您当然可以。