0
我有一組使用Boost和STL庫的C++類,目前正在使用這些類中的可執行文件進行編譯。我想使用SWIG爲此C++代碼創建一個perl接口。使用SWIG將C++代碼與perl連接使用
說如果我有10個班1..10如果我要創建1類與使用痛飲和main()函數的Perl接口處於5級
應該怎樣我的接口文件(* .i)應該看起來像? 我應該用什麼格式構建我的C++代碼?
我有一組使用Boost和STL庫的C++類,目前正在使用這些類中的可執行文件進行編譯。我想使用SWIG爲此C++代碼創建一個perl接口。使用SWIG將C++代碼與perl連接使用
說如果我有10個班1..10如果我要創建1類與使用痛飲和main()函數的Perl接口處於5級
應該怎樣我的接口文件(* .i)應該看起來像? 我應該用什麼格式構建我的C++代碼?
您不需要換行main()
就可以爲Class1創建接口。如果想有隻在Perl特定的類,那麼你應該寫
%module <your_module_name>
%{
#include "class1.h"
%}
%include "class1.h"
痛飲將掃描class1.h
併爲每類中創建相應的包裝和功能會遇到。您可以使用%ignore
來防止某些符號被打包。如果有其他類型的Class 1的頭,說的Class2 Class3的和,像
class Class1 {
Class2 foo();
Class3 bar();
};
SWIG將發出一個錯誤,因爲它不知道如何包裝這些類型。你要麼需要包裝他們太多,或者如果你不希望暴露其他類,你可以寫
%import "class2.h"
%import "class3.h"
這將告訴必要的類型信息痛飲,但包裝將不會被創建。