1
Q
SWIG預編譯庫
A
回答
2
雖然SWIG示例可能包含允許讀者編譯和嘗試它們的定義(源代碼),但您會注意到接口文件(.i)的所有示例僅包含聲明(通常在頭文件中找到的內容),這是SWIG需要創建一個包裝的全部內容。
寫的接口文件的方式,一般是這樣的:
/* File : example.i */
%module example
%{
/* This block will end up verbatim in the generated wrapper - include your header
* so that the wrapper will have access to its definitions
*/
#include "your_header.h"
%}
/* The definitions in this part are used to generate the wrapper.
* Copy the definitions you want to export to the other language from the header
* and put them here
*/
extern double variable_from_header;
extern int function_from_header(int);
如果你的頭文件很簡單,你要導出每定義它,你可能有一個接口文件脫身那看起來是這樣的:
/* File : example.i */
%module example
%{
#include "your_header.h"
%}
%include "your_header.h"
通知的%include
指令,它指示SWIG解析包含的文件,好像它是接口定義文件的一部分。另請參閱討論此方法的手冊的Section 5.7。
一旦你有了你的包裝,你可以鏈接它與lib,因爲你將鏈接從示例中源代碼創建的對象。
相關問題
- 1. SWIG C++預編譯DLL
- 2. 使用mingw編譯SWIG java庫
- 3. 用預編譯的靜態庫編譯
- 4. Oracle預編譯的dll庫
- 5. 預編譯的dex庫
- 6. CMake包括預編譯庫
- 7. 僅編譯/預編譯global.asax
- 8. 編譯一個靜態庫的SWIG Python包裝?
- 9. 在Mac OS X上編譯用SWIG for javascript編譯C++
- 10. 使用swig編譯C++到python
- 11. 爲Swig設置編譯器標誌
- 12. 編譯swig接口後缺少符號
- 13. 使用COLeDateTime編譯swig擴展python
- 14. 使用swig編譯錯誤python/C++
- 15. 如何編譯swig php C++ dll
- 16. 使用vC++編譯swig python3,錯誤LNK2019
- 17. 預編譯頭,
- 18. 預編譯增強庫(Ubuntu)的包
- 19. Android:使用預編譯的庫?
- 20. 使用預編譯的庫包
- 21. 什麼是JavaScript預編譯庫?
- 22. 預編譯標準庫頭文件 - C++
- 23. 如何編譯ASP.NET中的預編譯
- 24. 反編譯預編譯源代碼ASP.NET
- 25. LESS預編譯器
- 26. 預編譯的ASP.NET
- 27. Protobuf預編譯器
- 28. Rails的預編譯
- 29. ckeditor_rails預編譯config.js
- 30. 資產預編譯
即使你沒有頭文件,你仍然可以使用第一種方法,如果你知道涉及函數的聲明 – Flexo 2012-02-01 22:51:38