找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 13|回复: 0

python 调用 C++ 动态库文件

[复制链接]

5

主题

0

回帖

15

积分

新手上路

积分
15
发表于 2025-3-30 17:03:14 | 显示全部楼层 |阅读模式
  • 最近写python项目的时候要调用C++的动态库文件,python的ctypes库和pybind11库都可以调用动态库文件
ctypespybind11
  • pybind11是一个可以将C++的代码编译成python的动态库文件[color=var(--accent-color)]https://github.com/pybind/pybind11
  • 让C++的同事打包好so文件给你, 只需要so文件就行
  • 需要注意的点
    • build环境的python版本要保持和你运行环境一样
    • 打包出来的文件名如下xxxx.cpython-311(版本名)-x86_64(CPU架构)-linux-gnu(操作系统).so
    • 找到自己的的项目目录放进去, 比如app/libs/xxx/xxxx.so
    • 记得执行export PYTHONPATH="$PYTHONPATH:/var/www/app/libs/xxx"(否则就会报错xxx No module named)

类型提示
  • 安装pip install pybind11-stubgen
  • 在so目录下执行pybind11-stubgen xxx -o .
  • 后面其它地方调用,直接使用站桩代码调用就可以

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一起港湾 ( 青ICP备2025004122号-1 )

GMT+8, 2025-4-8 04:04 , Processed in 0.084734 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表