基本上,我有一個很大的現有代碼庫,我想用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. Rails:如何包含gem依賴項?
- 2. 如何在頭文件中包含依賴項而不將其包含在包含頭文件的項目中
- 3. 如何遞歸檢查包含其他依賴項的文件包含依賴項的數組?
- 4. 如何強制依賴項目安裝依賴項中使用的nuget包?
- 5. ECL如何在可執行文件中包含ASDF依賴項?
- 6. 如何使Satis軟件包依賴項從packagist安裝
- 7. Odoo 10 - 如何在__manifest__中包含Python包依賴項?
- 8. 如何構建管理依賴項的自包含OSGi包?
- 9. 如何使用makefile將.h文件包含在.c文件中
- 10. 當作爲依賴項包含在Composer中時自動包含文件包
- 11. 如何包含dr.js的依賴關係?
- 12. C#:如何包含依賴的DLL?
- 13. Stack:如何在`Setup.hs`中使用多包依賴項?
- 14. 包含依賴於目標的文件
- 15. gcc,包含文件依賴關係
- 16. 我應該如何在InstallShield安裝項目中包含Infragistics依賴項?
- 17. 如何在Manifest文件中包含Maven依賴關係
- 18. 如何包含具有相互依賴性的.proto文件
- 19. 如何使用maven和fatjar插件將單個依賴項包含到jar中
- 20. 如何在R軟件包中包含所有軟件包依賴關係?
- 21. 如何在包文件夾中安裝依賴關係?
- 22. 如何用Swig包裝pjsua-lib?
- 23. 在Ruby gem中包含Python依賴項
- 24. Gradle不包含可選依賴項
- 25. 安裝NPM的依賴到文件夾中不包含的package.json
- 26. 包含CMake項目依賴包含目錄與-isystem
- 27. 如何使debian軟件包安裝依賴關係
- 28. ecl如何在可執行文件中包含asdf依賴項? (坐2)
- 29. Maven2:如何生成一個包含項目依賴關係名稱的文件?
- 30. 如何在java webstart項目中包含jar依賴關係
好問題。我希望對你提出的問題有很好的解決辦法。 – 2014-09-04 18:40:57