代码之家  ›  专栏  ›  技术社区  ›  jbcoe

当C++头包含名称空间时,我如何%在SWIG中包含它们?

  •  1
  • jbcoe  · 技术社区  · 8 年前

    我有一个包含C++头的SWIG文件。

    Swig文件:

    %module my_module
    
    %{
    #include "my_c_file.h"
    %}
    
    %include "my_c_file.h"
    

    C++标题:

    namespace my_namespace {
      void Foo();
    }
    

    生成的\u换行符。cc文件不编译,并且包含奇数c++,如:

    namespace arg1 ;
    namespace *argp1 ;
    
    argp1 = (namespace *)jarg1; 
    

    我怀疑我缺少一些Swig命令行选项,无法让它正确处理C++名称空间。我需要做什么?

    1 回复  |  直到 8 年前
        1
  •  2
  •   R Sahu    8 年前

    听起来您并没有告诉swig源文件是C++文件。使用 swig -python -c++ 已经为我们工作了很长时间。

    适当地更改您的命令行,事情就会正常进行。