gpt4 book ai didi

python - 使用 ctypes 包装具有依赖项的编译库

转载 作者:太空狗 更新时间:2023-10-29 11:22:08 24 4
gpt4 key购买 nike

我正在尝试将名为 pvcam(光度学虚拟相机访问方法)的库与 ctypes 一起使用。该专有库作为编译后的共享对象(.so 文件)与软件用户手册一起分发,适用于 C 开发。我想用 ctypes 包装这个库,这样我就可以使用 python 而不是 C。我试过了

ctypes.CDLL('libpvcam.so.2.7.4.2',mode=ctypes.RTLD_GLOBAL)

但是 python 提示依赖性。

OSError: /usr/lib/libpvcam.so.2.7.4.2: undefined symbol: raw1394_new_handle

(我确实安装了 libraw1394)根据 this可能必须使用正确的标志正确地重新编译该库。作为专有的预编译对象,这是不可能的。我如何将这个 .so 加载到 python 中的 ctypes?

最佳答案

尝试预先加载所需的库:

ctypes.CDLL('libraw1394.so.X.Y', mode=ctypes.RTLD_GLOBAL)
ctypes.CDLL('libpvcam.so.2.7.4.2', mode=ctypes.RTLD_GLOBAL)

关于python - 使用 ctypes 包装具有依赖项的编译库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25474127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com