![](/img/trans.png)
[英]SWIG wrapping C++ for Python: translating a list of strings to an STL vector of STL strings
[英]Swig: using c++ STL complex in Python
我想在python中使用c ++复杂类型。 我尝试了以下Swig接口文件:
%module example
%include <std_complex.i>
%template(complexf) std::complex<float>;
它返回此错误:
example.i:3: Error: Template 'complex' undefined.
如果我手动包含c ++头文件,
%module example
%include <std_complex.i>
%include "/usr/include/c++/7/complex"
%template(complexf) std::complex<float>;
我会收到另一个错误:
/usr/include/c++/7/complex:50: Error: Syntax error in input(1).
所以我想知道如何在SWIG中正确使用c ++ complex?
std_complex.i
已经包含足够的定义以使用std::complex<float>
:
%module example
%include <std_complex.i>
%inline %{
using complexf = std::complex<float>;
complexf func(complexf a, complexf b)
{
return a + b;
}
%}
用法(与VS2015编译):
>>> import example
>>> example.func(1+2j,3-4j)
(4-2j)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.