正确制作设置.py对于c包装

2024-10-01 11:27:07 发布

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

我正在尝试设置一个设置.py文件为一些简单的c代码设置一个python包装器。目前这是我的设置.py公司名称:

from distutils.core import setup, Extension

module1 = Extension('ledmod', include_dirs = ['/usr/include', '/usr/include/arm-linux-gnueabi'],
    libraries = ['fcntl.h','sys/mman.h','sys/stat.h','sys/types.h','unistd.h'],
    sources=['ledmodule.c'])

setup (name = 'ledmod',
    version = '1.0',
    description = "LED example for TS7400v2",
    author='author',
    url='site',
    ext_modules=[module1])

这是我的c代码:

^{pr2}$

但是,我似乎无法使用sudo python setup.py build进行构建,因为我得到了以下错误:

running build
running build_ext
building 'ledmod' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include -I/usr/include/arm-linux-gnueabi -I/usr/include/python2.7 -c ledmodule.c -o build/temp.linux-armv5tejl-2.7/ledmodule.o
ledmodule.c: In function 'ledmodset':
ledmodule.c:25:2: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
warning: no library file corresponding to 'sys/mman.h' found (skipping)
warning: no library file corresponding to 'sys/stat.h' found (skipping)
warning: no library file corresponding to 'sys/types.h' found (skipping)
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro build/temp.linux-armv5tejl-2.7/ledmodule.o -lfcntl.h -lunistd.h -o build/lib.linux-armv5tejl-2.7/ledmod.so
/usr/bin/ld: cannot find -lfcntl.h
/usr/bin/ld: cannot find -lunistd.h
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

我错过了什么?我列出了库和包含目录。。。但是从错误中找不到库。在


Tags: nopybuildincludelinuxusrsyssetup
1条回答
网友
1楼 · 发布于 2024-10-01 11:27:07

头文件不是库。在

如果从中完全删除include_dirslibraries设置设置.py,您的扩展应正确编译。如果仍然不起作用,请发布新的一组错误消息。在

相关问题 更多 >