转换c+时签名缺失/错误+;使用SWIG将库转换为python 我尝试使用Python使用CIS+C++来使用SWIG, 我的问题是主要的班级标志不见了,
我尝试使用原始Makefile中的lib objs,或者尝试使用一些标志编译它们,但结果是一样的 生产线: $ gcc -c RF24_wrap.cxx -I/usr/include/python2.7 $ gcc -lstdc++ -shared bcm2835.o RF24.o RF24_wrap.o -o _rf24.so RF24.h(类头文件的相关部分):转换c+时签名缺失/错误+;使用SWIG将库转换为python 我尝试使用Python使用CIS+C++来使用SWIG, 我的问题是主要的班级标志不见了, ,c++,python,swig,porting,symbols,C++,Python,Swig,Porting,Symbols,我尝试使用原始Makefile中的lib objs,或者尝试使用一些标志编译它们,但结果是一样的 生产线: $ gcc -c RF24_wrap.cxx -I/usr/include/python2.7 $ gcc -lstdc++ -shared bcm2835.o RF24.o RF24_wrap.o -o _rf24.so RF24.h(类头文件的相关部分): 问题解决了!在使用c++filt之后,我发现库中的一个构造函数没有定义,在删除它之后,问题解决了当您找到自己的解决方案时,
问题解决了!在使用c++filt之后,我发现库中的一个构造函数没有定义,在删除它之后,问题解决了当您找到自己的解决方案时,将其作为答案发布,而不是对问题进行编辑。
ImportError: ./_rf24.so: undefined symbol: _ZN4RF24C1Ehh
$ gcc -c RF24_wrap.cxx -I/usr/include/python2.7
$ gcc -lstdc++ -shared bcm2835.o RF24.o RF24_wrap.o -o _rf24.so
%module rf24
%{
#include "RF24.h"
%}
%include "RF24.h"
//%include "bcm2835.h"
%include "carrays.i"
%array_class(char, byteArray);
.
.
.
// bla bla bla enums...
class RF24
{
private:
// bla bla bla
protected:
// bla bla bla
public:
RF24(uint8_t _cepin, uint8_t _cspin);
RF24(uint8_t _cepin, uint8_t _cspin, uint32_t spispeed )
//bla bla bla