我嘗試使用SWIG擴(kuò)展Matrix類以創(chuàng)建python接口。我使用了官方的Docu碼。但是我得到了一個(gè)完全荒謬的錯(cuò)誤消息。在聲明我的行類的地方似乎并不重要。我總是在編譯時(shí)收到此錯(cuò)誤。SWIG有什么問(wèn)題?錯(cuò)誤: ANPyNetCPUPYTHON_wrap.cxx: In function ‘ANN::F2DArray ANN_F2DArray___getitem__(ANN::F2DArray*, int)’: ANPyNetCPUPYTHON_wrap.cxx:5192: error: ‘Grid2dRow’ was not declared in this scope ANPyNetCPUPYTHON_wrap.cxx:5192: error: expected `;' before ‘r’ ANPyNetCPUPYTHON_wrap.cxx:5193: error: ‘r’ was not declared in this scope代碼: %{ #include <AN2DArray.h> %} %include <AN2DArray.h> %inline %{ struct Grid2dRow { ANN::F2DArray *g; // Grid int y; // Row number // These functions are used by Python to access sequence types (lists, tuples, ...) float __getitem__(int x) { return g->GetValue(x, y); } void __setitem__(int x, float val) { g->SetValue(x, y, val); } }; %} %extend ANN::F2DArray { ANN::F2DArray __getitem__(int y) { Grid2dRow r; r.g = self; r.y = y; return r; } };
使用SWIG連接C ++和Python
拉風(fēng)的咖菲貓
2021-03-18 14:11:46