2 wmtxj WMTXJ 于 2016.03.17 16:59 提问

SWIG封装C++为python库

我在封装C++的一个类时。生成的库在python中可以正常import 。可是当我C++的类继承其他类在进行封装时,生成的库在python中就没法用了。提示动态库无法初始化。求大神帮助。

1个回答

oyljerry
oyljerry   Ds   Rxr 2016.03.17 17:11

python中最好是调用C接口形式的。所以你可以自己再在C++基础上封装一个C接口给python

WMTXJ
WMTXJ 弄了一晚上终于找到原因了。继承的基类也引用了头文件。这些头文件都没有编过。BUILD基类时没报错。我就没编那些头文件。结果封装后基类初始化就碰到问题了。不过还是很感谢你回答。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
swig 把c/c++ 封装成python可调用的so文动态链接库
注意:使用此种方法产生的so文件放在 python的site 目录下,可以直接import example,调用模块。 C 和 C++ 被公认为(理当如此)创建高性能代码的首选平台。对开发人员的一个常见要求是向脚本语言接口公开 C/C++ 代码,这正是 Simplified Wrapper and Interface Generator (SWIG) 的用武之地。SWIG 允许您向广泛的
高效开发Python扩展模块方法:用SWIG封装C/C++代码
1. SWIG介绍: http://sourceforge.net/projects/swig/ 2. 对于性能有追求的功能模块(这并不意味着python性能低),自然需要考虑用C/C++扩展python模块; 方法其实有两种: 一是遵从python扩展模块API规范,用C/C++直接写python模块; 此方法开发出来的扩展模块(DLL动态库),可看做原生的python
通过SWIG封装C/C++代码被Python调用
1.介绍 SWIG将C代码做成各种脚本语言的扩展模块(Python,Perl,Tcl等。SWIG本质上是一个编译器,它可以通过C/C++的头文件或者一个特殊的接口文件来生成一个以_wrapc为后缀的包装文件,例如你的C模块叫 test.c, 那么SWIG会为你生成一个test_wrapc文件,然后将这两个文件编译成一个动态链接库,就能使用其它的脚本语言来调用。 2.环境配置   python
SWIG封装C代码
注意到.i
【语言桥接】(windows)swig-C#封装 C++教程
SWIG (WIN) C#封装C++的动态(dll)或静态库(lib)
Swig封装C/C++——介绍
这段时间在摸swig,用它来封装一些后台c++代码,分别生成其他脚本语言(java、python等)可用的api,并总结了swig从安装到配置到生成api的过程,里面也融进了一些网上的资料,还有我自己在实际应用中的感触,留个脚印。  一. SWIG简介:  SWIG是Simple Wrapper and Interface Generator的缩写,是一个帮助使用C或者C++编写的软件创建其他编语
利用swig实现python调用C/C++的方法
利用swig实现python调用C/C++的方法  Python是一门语法简单而且清晰的脚本语言,不过执行效率比较低。简单的说就是开发相对C/C++容易,但是执行效率不如C/C++,甚至有人称之为执行效率最低的鱼眼。如果可以将最重要的而且变化一般不大的运算逻辑用 C/C++实现,其他用python书写,那就最好不过了。据说python底层就是用C实现的,因此这一想法也是可行的。目前来说,py
通过Swig封装JAVA Native Interface调用C++动态库
运行环境 Windows10 专业版 64位 JDK 1.8.0.121 64位 Eclipse Jee Neon Visual Studio 2015 专业版 Swigwin3.0.12 先从Swig官网下载下最新版 Swig windows版,解压到任意目录. 我是解压在 D:\sdk\swigwin-3.0.12 设置环境变量 SWIG_HOME = D:\sdk\swigw
SWIG入门 - c++ 同 c# 的混合编程
同C#的混合编程-SWIG入门 最后更新日期:2014-04-18  by kagula 环境:Windows8.1 64bits(英文版)、Visual Studio 2013 Update1(英文版)、SWIG Win 3.0.0 正文:          做小项目直接《C#调用C++写的Native DLL》工作量也能接受,但是,当接口变得很复杂这个方式就不经济。
将C/C++封装成python的API 利用Swig 在Linux系统上
这里是Swig的用法和介绍:https://blog.csdn.net/luotuo818/article/details/7335344下面是一个例子:https://blog.csdn.net/jiangpeng59/article/details/73554835  经过测试可行。还有一些复杂的例子以后有时间再深究:https://blog.csdn.net/arnozhang12/arti...