Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 具有可选依赖项的ctypes DLL_Python_Windows_Visual Studio_Dll_Ctypes - Fatal编程技术网

Python 具有可选依赖项的ctypes DLL

Python 具有可选依赖项的ctypes DLL,python,windows,visual-studio,dll,ctypes,Python,Windows,Visual Studio,Dll,Ctypes,免责声明:我是windows编程新手,所以我的一些假设可能是错误的。如果是,请纠正我 我正在使用ctypes为C API开发python包装器。该API附带64和32个DLL/LIB。我可以使用ctypes.windell'TheLibName'和调用函数等成功加载DLL 然而,有些职能部门没有做他们应该做的事情。经进一步调查,似乎正在使用32位DLL,这是导致意外行为的原因 我已尝试使用ctypes.windell'TheLibName64',但找不到该模块。我曾尝试用regsrv32注册DL

免责声明:我是windows编程新手,所以我的一些假设可能是错误的。如果是,请纠正我

我正在使用ctypes为C API开发python包装器。该API附带64和32个DLL/LIB。我可以使用ctypes.windell'TheLibName'和调用函数等成功加载DLL

然而,有些职能部门没有做他们应该做的事情。经进一步调查,似乎正在使用32位DLL,这是导致意外行为的原因

我已尝试使用ctypes.windell'TheLibName64',但找不到该模块。我曾尝试用regsrv32注册DLL,但它报告没有入口点。当我尝试注册libname时,它也报告没有入口点,这是由Windell找到的

DLL随Visual Studio中的一个示例项目而来,我对VS没有任何经验,因此再次请在此处更正我的错误,该错误生成了示例项目的32位和64位版本。在.vcsproj文件中,64位版本的配置包括:

AdditionalDependencies=TheLibName64.lib

在vLinkerTool部分中

在windows/system32中,既有libname.dll/.lib,也有libname64.dll/.lib

因此,在我看来,我现在的问题是在加载DLL时让python ctypes DLL加载程序加载这些可选的依赖项。然而,我找不到关于这方面的任何信息,可能是因为,作为一个打瞌睡的人,我不知道ctypes文档中的正确术语

有没有办法在ctypes中实现这一点?我是不是完全错了?如果您有任何关于可选DLL依赖项以及如何在windows中加载它们的帮助或一般信息,我们将不胜感激


谢谢,当我使用64位版本的python时,我可以加载LibName64。我早该试试的