这个问题是我今天在CTypes error loading DLL that calls another DLL发布的问题的部分解决方案 . 我把它作为一个单独的帖子发布了,因为问题在于与Python C / API的依赖关系,而不是我在那里发布的源代码 .

我有一个64位NASM DLL,在Windows 7上调用64位C dll .C dll使用Python C / API;使用CTypes调用NASM dll . 但是,当我在Visual Studio中使用ctypes加载NASM dll时,我收到错误“[WinError 126]无法找到指定的模块 . ”使用MSYS2中的GCC编译C dll .

将NASM dll调用Dependency Walker显示libpython3.6m.dll和libwinpthread-1.dll丢失 . 那些dll在MSYS2的发行版中,所以我将它们从那里复制到包含NASM dll的文件夹中 . 这解决了这个问题,但现在Dependency Walker说它缺少所有这些DLL:

API-MS-WIN-CORE-COM-L1-1-0.DLL
API-MS-WIN-CORE-的WinRT-ERROR-L1-1-0.DLL
API-MS-WIN-CORE-WinRT的-L1-1-0.DLL
API-MS-WIN-CORE-的WinRT-ROBUFFER-L1-1-0.DLL
API-MS-WIN-CORE-的WinRT-STRING-L1-1-0.DLL
API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
DCOMP.DLL
IESHIMS.DLL

此问题似乎与Python C / API有关,这显然取决于这些DLL . 有谁知道如何解决这一问题?完整的源代码位于上面的链接中 .