2012-11-16 33 views
2

我有一個包含用typedef結構定義C頭文件和char定義的用typedef陣列太:使用的typedef與SWIG

/* File: test.h */ 

typedef struct 
{ 
    char *key; 
    void *value; 
    int size; 
} cti_pair; 

typedef char FOO[CONST]; 

的SWIG接口文件包含下列行:

/* File: test.i */ 
%module test 

%{ 
#define SWIG_FILE_WITH_INIT 
#include "/home/users/jdoe/workspace/project/src/lib-cti/test.h" 
... 
%} 

#ifndef CTI_TYPES_H_ 
#define CTI_TYPES_H_ 
#include "cti_const.h" 

typedef char FOO[CONST]; 

typedef struct 
{ 
    char *key; 
    void *value; 
    int size; 
} cti_pair; 

的問題是,我可以訪問cti_pair結構,但在我的Python腳本不能使用FOO(它沒有定義)。

回答

0

好吧,只是弄清楚了什麼問題。 實際上,我在接口文件的另一部分使用了%擴展。但是這個關鍵字只能用在結構上,而不能用在基本的typedef上(如果我們使用%擴展錯誤的方式,SWIG不會顯示任何錯誤信息)。

由於事實上,FOO的定義。問題與此無關。謝謝!