Как я могу включить заголовки C ++ в SWIG, если они содержат пространства имен? - PullRequest
0 голосов
/ 04 мая 2018

У меня есть файл SWIG с заголовком C ++.

Файл Swig:

%module my_module

%{
#include "my_c_file.h"
%}

%include "my_c_file.h"

C ++ header:

namespace my_namespace {
  void Foo();
}

Сгенерированный файл _wrap.cc не компилируется и содержит нечетный c ++, такой как:

namespace arg1 ;
namespace *argp1 ;

argp1 = (namespace *)jarg1; 

Я подозреваю, что мне не хватает какой-то опции командной строки Swig, чтобы заставить его правильно обрабатывать пространства имен C ++. Что мне нужно сделать?

1 Ответ

0 голосов
/ 04 мая 2018

Похоже, вы не говорите swig, что исходные файлы являются файлами C ++. Использование swig -python -c++ уже давно работает для нас.

Измените вашу командную строку соответствующим образом, и все должно работать.

...