471,354 Members | 2,060 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,354 software developers and data experts.

SWIG-PYTHON -> Problem in header file inclusion

Hi
I am facing a problem while including a C header file in the SWIG
interface file. However the problem does not occur when i directly
copy the contents of header file in the same place.

My interface file read as follows.
/* interface file dep.i */
%module dep
%{
#include "dep.h"
%}
%inline %{
extern int ReadDep (char* fname, DONfic* don, int nb2, int nb4);
%}

And my header file consists of the structure DONfic as shown below.
/* Header file dep.h */
typedef struct _DONfic {
int nb_dep, nb_inc_dep, ncasec_dep;
int max_dep;
} DONfic;
>From python i tried to access the C structure as a python class as
shown below.
/* File pydep.py*/
>import dep
.......
d = dep.DONfic()
Gives the following error message

Traceback (most recent call last):
File "pydep.py", line 5, in ?
d = dep.DONfic()
AttributeError: 'module' object has no attribute 'DONfic'
The problem is that i cannot get access to the structure if i directly
include the file "dep.h". On the other hand if i copy the contents of
the header file and paste it directly in to the header section of the
SWIG interface file it works.
It works for the following interface file .
%module dep
%{
typedef struct _DONfic {
int nb_dep, nb_inc_dep, ncasec_dep;
int max_dep;
} DONfic;
%}
%inline %{
extern int ReadDep (char* fname, DONfic* don, int nb2, int nb4);
%}
I tried out lot of options and does n't seems to work. Any suggestions
or ideas are most welcome.

Oct 19 '07 #1
0 1609

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by mead | last post: by
6 posts views Thread by techBoy | last post: by
4 posts views Thread by shaky | last post: by
reply views Thread by abarun22 | last post: by
5 posts views Thread by Rahul | last post: by
7 posts views Thread by Parag Mahajan | last post: by
reply views Thread by XIAOLAOHU | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.