基本上,我有一个很大的现有代码库,我想用SWIG将所有.h文件包装在一个特定的目录中。这些.h文件中的许多类继承自目录树中其他位置定义的其他类,并且手动追踪其中的每一个都是很痛苦的。有没有办法让SWIG自动包含这些或至少自动创建.i文件?我不想在我自己的代码之外包装任何类(如标准库),但是如果我使用-importall
选项,这些将最终包含在内。如何使用SWIG包装许多.h文件并包含任何依赖项?
2
A
回答
0
没有自动生成的.i文件,或填充一个文件夹,所有的一切.H的.i“的其他.H,使其正常工作”
的一部分内建的方法原因是“正常工作”是完全随意的:如果A在你想要导出的那组标题中,并且A从B派生出来,你需要导出B“以使它正常工作”?一点也不。但你可能想要。即使A返回B的一个实例,你是否需要导出B?没有(所以不需要在.i中导入Bh),SWIG返回的对象将是B实例的一个不透明的句柄,虽然你不能调用它的任何方法,但你可以给它作为接受B作为参数的函数的参数。
最实用的是编写一个批处理或python脚本来找到你需要的.h(一个班轮,如果全部在同一个文件夹中),拷贝/粘贴到你的.i中,然后手动清理。我只包含你想要导出到目标语言的文件,并添加任何缺少的文件以获得你想要的特定功能(例如实例化基类等)。你可以说“不,我不想定制”你想要的,你没有选择。
相关问题
- 1. 使用maven,如何在包中包含jar依赖项?
- 2. Rails:如何包含gem依赖项?
- 3. 如何包含传递依赖项
- 4. 如何在头文件中包含依赖项而不将其包含在包含头文件的项目中
- 5. 如何递归检查包含其他依赖项的文件包含依赖项的数组?
- 6. 如何在包含Gradle的JAR中包含单个依赖项?
- 7. 如何强制依赖项目安装依赖项中使用的nuget包?
- 8. ECL如何在可执行文件中包含ASDF依赖项?
- 9. 在安装项目中包含文件依赖关系
- 10. 如何使Satis软件包依赖项从packagist安装
- 11. 如何包含库.h文件
- 12. 如何构建管理依赖项的自包含OSGi包?
- 13. Odoo 10 - 如何在__manifest__中包含Python包依赖项?
- 14. 如何在多项目grails/gradle构建中包含依赖jar?
- 15. 如何使用makefile将.h文件包含在.c文件中
- 16. 如何使用maven bundle插件在OSGi包中包含一个依赖jar包?
- 17. 当作为依赖项包含在Composer中时自动包含文件包
- 18. 为Scrapy安装软件包依赖项
- 19. 无需安装即可下载包含依赖项的python包
- 20. VSIX软件包不包含引用的项目依赖关系
- 21. C#:如何包含依赖的DLL?
- 22. 如何包含dr.js的依赖关系?
- 23. 如何包含常春藤依赖项及其所有依赖项?
- 24. Stack:如何在`Setup.hs`中使用多包依赖项?
- 25. 包含依赖于目标的文件
- 26. gcc,包含文件依赖关系
- 27. 包含使用dotnet包的所有依赖项
- 28. 如何在Android Studio项目中包含库模块依赖项?
- 29. 包含并不包含任何东西
- 30. 如何在Perl应用程序中包含CPAN依赖项?
好问题。我希望对你提出的问题有很好的解决办法。 – 2014-09-04 18:40:57