如何使用CFFI创建可以访问外部静态库的本地C库?

2024-04-28 17:50:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在API模式下使用CFFI为本地C代码编写python包装器。本地C代码需要几个外部库。下面的示例生成_现金流量表似乎可以允许创建的本地C库访问共享对象库,但我无法以相同的方式添加静态库(gcc错误,因为它无法链接这样的静态库)。有人知道如何包括对外部静态C库的访问吗?你知道吗

from cffi import FFI
ffibuilder = FFI()

ffibuilder.set_source("_idcmod,
"""
    # include "header.h"
    ...
""",
    include_dirs=['/path/to/inc/dir1',
                  '/path/to/inc/dir2', 
                  ...],
    sources=['my_local_code.c', ...],
    library_dirs = ['/path/to/extso/lib',
                    ...],
    libraries=['c', 'extso'])

ffibuilder.cdef("""
                ...

                int cmod(void);
                """)


if __name__ == "__main__":
    ffibuilder.compile(verbose=True)

(注:The。。。这里的人都是普通人。。。s、 不是特殊的CFFI。)


Tags: topath代码api示例include模式静态