c++ - 为覆盖 std::exception 的库生成 swig 接口时出错
问题描述
我正在尝试为一个库生成一个 swig 接口,该库有一个继承自std::exception
. 我似乎无法让它工作。
这是一个简单的例子。代码mylib.h
:
#pragma once
#include <exception>
class CustomException : public std::exception
{
};
这是代码mylib.i
:
%module mylib
%{
#include "mylib.h"
%}
/*
Run without anything:
mylib.h:5: Warning 401: Nothing known about base class 'std::exception'. Ignored.
*/
/*
Run with: %include <exception>
mylib.i:11: Error: Unable to find 'exception'
*/
/*
Run with: %include exception.i
mylib.h:5: Warning 401: Nothing known about base class 'std::exception'. Ignored.
*/
%include "mylib.h"
正如您在 中的评论中看到的那样mylib.i
,swig 似乎很难弄清楚是什么std::exception
。
解决方案
使用%include <std_except.i>
:
%module test
%include <std_except.i>
%inline %{
class CustomException : public std::exception
{
};
%}
推荐阅读
- django - 如何将 graphene.InputObjectType 字段映射到 kwargs?
- sql - 我怎样才能加快这个 SQL 查询?
- apache-spark - AnalysisException:找不到数据源:kafka
- c - 在C中拆分字符链表
- python - 从字典中删除元组并返回一个包含 N 个最常用词的新字典
- hibernate - org.hibernate.hql.ast.QuerySyntaxException:当表定义为集合时,表未映射
- c++ - 可以使 clang-tidy 在无效配置上失败吗?
- typescript - TypeScript:根据输入数组元素推断数组的返回类型
- python - 如何过滤和分组pandas DataFrame以获取两列组合的计数
- reactjs - 测量一个元素:useRef vs useCallback