我的C代码就像轰鸣声。
// file.c
#include <stdio.h>
#define value 10
#define value 20
void func()
{
printf("%d\n",value);
}
我的界面文件就像下面一样。
//sample.i
%module sample
%{
#include "func.c"
%}
%include "func.c"`
当我运行命令&#34; swig -python sample.i&#34;时,我收到的信息如下! 宏观价值&#39;重新定义。先前对“价值”的定义&#39;在那里。
如何处理?
答案 0 :(得分:1)
有趣的是,swig认为这是一个错误,但编译器(无论如何)都认为它是一个警告。如果您无法修复标题,则可以执行以下操作:
//sample.i
%module sample
%{
#include "func.c"
%}
#define value 20
void func()
{
printf("%d\n",value);
}
基本上,展开内联头文件并从swig处理中删除有问题的行。否则,请修复标题。