轻扫golang包装纸
Swig wrapper for golang
我很难使用swig为golang包装c++库。这是我的c++头文件。
class Builder {
public:
explicit Builder(int i):counters(i){}
void Init();
void CreateCounters(vector<std::unique_ptr<int>>* s);
bool CreateEntry(string* primary_key);
private:
std::shared_ptr<hash_set<string>> ids;
int counters;
};
我只想包装Builder类及其构造函数Init()和CreateEntry函数。这是我的痛饮API
%{
#include "builder.h"
%}
%ignoreall
%unignore Builder;
%unignore Builder::Init();
%unignore CreateEntry(string* primary_key);
%include "builder.h"
%unignoreall
但当我编译时,我在指向CreateCounters函数时遇到错误,该函数的参数为unique_ptr vector。有人能告诉我这里出了什么问题吗?
提前感谢:)
swig文件没有模块名称。试试这个。。。
%module builder
%{
#include "builder.h"
%}
%ignoreall
%unignore Builder;
%unignore Builder::Init();
%unignore CreateEntry(string* primary_key);
%include "builder.h"
%unignoreall
模块名称转换为封装代码所在的包的名称。
此外,对于c++代码,请确保您的swig文件的名称类似于"builder.swigcxx"-扩展名很重要,否则它将假设您正在包装纯c。
相关文章:
- 在 Golang 中等C++结构中提供代码提示/标记
- 使用std::tie进行类似golang的错误处理,同时返回结果,是否有缺点?(C++11)
- Golang CGO with large char pointer语言 - SEGSERV
- 在C++中模仿类似 Golang 的界面
- 用MacOS主机上的Windows目标交叉编译Golang
- Golang操纵函数中是否有一些方法,例如std :: bind在C 中
- 在 Golang 中 binary.write 的C++等价物是什么?
- Golang CGO Exception 0x40010006
- 无法用 CMake 制作树枝包装纸
- MEX文件构建具有八度的构建(包装纸问题)
- Golang:在跨平台调用C++代码
- Golang中的const方法
- golang select语句是如何实现的
- 在Go(golang)和C++之间交换数据结构(数组)
- 在 golang 调用 DLL 上
- 轻扫golang包装纸
- Golang将数组传递给函数并修改它
- 是否可以在nodejs或golang中使用Visual c++ MFC函数附加组件?
- 将c++代码段转换为Golang
- c++客户端可以调用用golang编写的GRPC服务器存根吗?