程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何为Python包装C ++库?

发布于2020-01-15 00:07     阅读(1276)     评论(0)     点赞(2)     收藏(4)


我有一个库和一些头文件,没有c ++源代码,我想将它与python一起使用。我尝试了py ++,但gccxml报告错误。我尝试了swig,但遇到了许多“未定义符号”错误。是否有一些智能工具可以自动执行此类操作?


解决方案


您可以尝试使用Boost python

您需要创建一个链接到原始库的简单包装dll,其中包含与此类似的代码(假设您要导出带有2个函数foo和bar的类LibraryClass)

#include <librarytowrap.h>
#include <boost/python.hpp>
using namespace boost::python;

BOOST_PYTHON_MODULE(Library)
{
    class_<LibraryClass>("LibraryClass")
        .def("foo", &LibraryClass::foo)
        .def("bar", &LibraryClass::bar)
    ;
}

您也许可以使用自动代码生成器读取头文件中的C ++定义并为您完成艰苦的工作,但是根据boost python页面,此内容不再维护,因此我不确定它的工作情况。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/221849/2849625671ea2b6be94e/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

2 0
收藏该文
已收藏

评论内容:(最多支持255个字符)