C++ 您的计算机中缺少api-ms-win-core-synch-l1-2-1.dll

C++ 您的计算机中缺少api-ms-win-core-synch-l1-2-1.dll,c++,windows,winapi,dll,windows-10,C++,Windows,Winapi,Dll,Windows 10,我正在使用Visual Studio Community 2015开发一个C/C++应用程序 我曾经构建我的应用程序系统库:OneCoreUAP.lib。我正在使用Windows8.1 我使用了在中定义的函数if_nametoindex 在链接中,它们指定您需要ONeCOreUAP.lib 但我找到了另一个指向另一个库的链接:iphlapi.lib: 启动我的应用程序时,我收到以下错误: The program can't start because api-ms-win-core-synch-

我正在使用Visual Studio Community 2015开发一个C/C++应用程序

我曾经构建我的应用程序系统库:OneCoreUAP.lib。我正在使用Windows8.1

我使用了在中定义的函数if_nametoindex

在链接中,它们指定您需要ONeCOreUAP.lib

但我找到了另一个指向另一个库的链接:iphlapi.lib:

启动我的应用程序时,我收到以下错误:

The program can't start because api-ms-win-core-synch-l1-2-1.dll is missing from your computer. 
Try reinstalling the program to fix this problem.
这是消息图像:

在搜索dll时,我通过此链接了解:

即:

我试图更新Windows10SDK,但这并没有解决问题

如何解决这个问题?我是否应该将windows 8.1升级到windows 10以解决此问题?

似乎与链接到Universal App Platform运行时的windows驱动程序有关,该运行时仅在windows 10及更高版本中可用
OneCoreUAP.lib
是表示UAP运行时的.lib文件。如果有人知道更多这方面的情况,可以告诉我这方面的细节,那将是有益的;我不完全明白发生了什么,它是如何工作的

你不是在写这些东西;相反,您正在编写一个桌面程序。因此,您需要查看桌面程序文档。通常这是谷歌搜索有问题的函数名的第一件事。在您的情况下,在页面底部,它说可以在
iphlapi.lib
中找到该函数,因此您必须将其链接到
.lib
文件


该页底部还表示该函数不晚于Windows Vista引入,因此您可以在8.1上使用它。

您认为哪些函数依赖于该DLL?如果您使用Windows 10 SDK,则默认情况下该程序需要Windows 10,并且不会在旧系统上运行。特别是,onecoreUAP库在Windows 8上不受支持。@andlabs:我在问题中添加了命名函数。我不确定您是如何进入该页面的,但它说至少在Windows Vista上支持该函数。它在MSDN上的主页是,该页面显示您链接的是
iphlapi.lib
,而不是
OneCoreUAP.lib
OneCoreUAP.lib
和该MSDN页面是针对仅在Windows 10及更新版本上受支持的Windows通用应用程序的(专家能否确认这一点?),而您似乎没有编写一个。但是我不完全确定你找到了那个页面而不是标准桌面页面时发生了什么。@andlabs:是的,我得到的页面表明你应该链接到OneCoreUAP.lib,所以我链接了它。我想我应该链接到iphlapi.lib。
Introduced into api-ms-win-core-synch-l1-2-1.dll in Windows 10.0.10240.0