c 的 SWIG python 绑定找不到标准头文件的 _EXFUN

Posted

技术标签:

【中文标题】c 的 SWIG python 绑定找不到标准头文件的 _EXFUN【英文标题】:SWIG python binding for c does not find _EXFUN for standard headers 【发布时间】:2017-11-07 09:44:18 【问题描述】:

我正在尝试对 c 文件使用 SWIG python 绑定。 c 文件编译得很好。 SWIG 生成的 _wrap.c 文件无法编译,因为编译器无法找到来自 wchar.h 的 _EXFUN 的定义以某种方式包含在内。

int _EXFUN(wcsncmp, (const wchar_t *, const wchar_t *, size_t));

环境是: 带有 arm-none-eabi 的 msys。 Anaconda2-5.0.1-Windows-x86 32bit

我陷入了寻找原因的死胡同。很感谢任何形式的帮助。 谢谢。

【问题讨论】:

【参考方案1】:

当我尝试使用 gcc arm-none-eabi 工具链编译时出现上述问题。我无法解决问题。

然后我将工具链更改为 TDM-GCC-32 并重新排序标题,上述问题就消失了。仍然不知道为什么使用 arm-none-eabi 选项会发生这种情况。

【讨论】:

以上是关于c 的 SWIG python 绑定找不到标准头文件的 _EXFUN的主要内容,如果未能解决你的问题,请参考以下文章

使用 SWIG 绑定 Python/C++ 模板

Openshift 无法加载 c++ bson 扩展/找不到模块('swig')

为 C 库生成 Python SWIG 绑定时未定义的符号

SWIG Python 绑定到本地代码不适用于 OpenCV 2.1

在 Windows 中编译 SWIG python 包装器时,MinGW g++ 找不到 numpy\arrayobject.h

我们可以使用 SWIG 为 Qt 应用程序制作 python 绑定吗?