我正在为第三方代码创建包装器,其中包括如下所示的#define,它给出了如下所示的错误,而 swig 给出了错误:输入中的语法错误(3)。我还尝试在接口(interface)文件中复制以下常量,但没有成功。
#ifndef DCMTK_DECL_EXPORT
#define DCMTK_DECL_EXPORT
#endif
#ifndef DCMTK_DECL_IMPORT
#define DCMTK_DECL_IMPORT
#endif
#ifdef dcmdata_EXPORTS
#define DCMTK_DCMDATA_EXPORT DCMTK_DECL_EXPORT
#else
#define DCMTK_DCMDATA_EXPORT DCMTK_DECL_IMPORT
#endif
最佳答案
没有更多信息还不清楚,但我的 Crystal 球认为你可能在 Windows 上,那 DCMTK_DECL_EXPORT
定义为 __declspec(dllexport)
. SWIG 不理解 Windows __declspec
声明,但如果你 %include <windows.i>
将正确忽略它在 SWIG 接口(interface)文件中。
关于java - 从接口(interface)文件生成包装器时 Swig #define 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20237429/