2015-05-13 3 views
1

Я использовал swig для создания файла python с c. Я преобразовал файл Си в .py файл и при попытке вызова функции программы с, я получаю сообщение об ошибке AttributeError: «модуль» объект не имеет атрибута «факта»Python: AttributeError: объект 'module' не имеет атрибута

Мой файл C является

/* File : example.c */ 


#include <time.h> 
double My_variable = 3.0; 

int fact(int n) { 
    if (n <= 1) return 1; 
    else return n*fact(n-1); 
} 

int my_mod(int x, int y) { 
    return (x%y); 
} 

char *get_time() 
{ 
    time_t ltime; 
    time(&ltime); 
    return ctime(&ltime); 
} 

Мой файл интерфейс

/* example.i */ 
%module example 
%{ 
/* Put header files here or function declarations like below */ 
extern double My_variable; 
extern int fact(int n); 
extern int my_mod(int x, int y); 
extern char *get_time(); 
%} 

может кто-нибудь мне помочь?

ответ

1

Вы должны инлайн свои объявления в example.i:

%module example 
%inline %{ 

[SWIG]: Inlined code blocks От:

The %inline directive inserts all of the code that follows verbatim into the header portion of an interface file.

Смежные вопросы