草庐IT

swig-template

全部标签

python - 如何使用 SWIG 处理 unique_ptr

我有一个实现发布-订阅模式的EventDispatcher类。它的界面看起来像这样(简化):classEventDispatcher{public:voidpublish(conststd::string&event_name,std::unique_ptrevent);std::unique_ptrsubscribe(conststd::string&event_name,std::unique_ptrcallback);private:std::unordered_map>>m_subscriptions;}我想将此类公开给Python。最新的SWIG文档指出:Thereisnos

python - SWIG 将 C 库连接到 Python(从 C 'iterable' 结构创建 'sequence' Python 数据类型)

我已经为C库编写了一个Python扩展。我有一个看起来像这样的数据结构:typedefstruct_mystruct{double*clientdata;size_tlen;}MyStruct;此数据类型的用途直接映射到Python中的列表数据类型。因此,我想为导出的结构创建“类似列表”的行为,以便使用我的C扩展编写的代码更“Pythonic”。特别是,这是我希望能够做的(来自python代码)注意:py_ctsruct是在python中访问的ctsruct数据类型。我的需求可以概括为:list(py_ctsruct)返回一个python列表,其中包含从c结构中复制的所有内容py_cs

python - 使用 virtualenv 时 django settings.py 中 TEMPLATE_DIRS 的路径是什么

我正在使用virtualenv,我想知道settings.py中的TEMPLATE_DIRS应该是什么,例如,如果我在项目的根目录中创建一个模板文件夹文件夹。 最佳答案 您需要指定模板文件夹的绝对路径。始终使用正斜杠,即使在Windows上也是如此。例如,如果您的项目文件夹是“/home/djangouser/projects/myproject”(Linux)或“C:\projects\myproject\”(Windows),您的TEMPLATE_DIRS如下所示:#forLinuxTEMPLATE_DIRS=('/home/d

python - 如何调试 "Exception while resolving variable in template ' 未知'”?

我一直在看DEBUGExceptionwhileresolvingvariable'exception_type'intemplate'unknown'.在我的django日志中,然后是VariableDoesNotExist:Failedlookupforkey[exception_type]in后跟看起来像是包含请求的字典列表的字符串表示形式,以及我的整个settings.py文件。另一个例子:DEBUGExceptionwhileresolvingvariable'lastframe'intemplate'unknown'我觉得我只是没有足够的信息来调试它。我所知道的是未知模板中

c++ - SWIG 的 Python 包装器中临时对象的生命周期(?)

2月12日编辑我最近刚想出了一个奇怪的崩溃,使用一些SWIG为某些C++类生成的Python包装器。似乎SWIG和Python的结合有点急于清理临时值。事实上,它们是如此渴望,以至于在它们还在使用的时候就被清理干净了。一个显着压缩的版本看起来像这样:/*Example.hpp*/structFoo{intvalue;~Foo();};structBar{FootheFoo;Bar();};/*Example.cpp*/#include"Example.hpp"Bar::Bar(){theFoo.value=1;}Foo::~Foo(){value=0;}/*Example.i*/%mo

python - 如何从多个 template_folder 加载 Flask 蓝图?

我学会了如何创建Flask蓝图,并且可以为使用Jinja2模板的非Flask产品创建蓝图,并在Flask项目中使用它们。我做这样的事情:#blueprintcodefromflaskimportBlueprintfrompkg_resourcesimportresource_filenameapp=Blueprint('formgear',__name__,template_folder=resource_filename('formgear','templates'))现在我想添加另一组模板,它在逻辑上与我的非Flask项目相关,但仅特定于Flask。我完全不确定它是否适合设计,但是

c++ - 来自 SWIG PyObject_Call 段错误的 Python 回调

我有一个wx.py.Shell.shell小部件,它允许用户执行与我的程序交互的python代码。我希望能够将用户在此空间中定义的函数传递到我的C++代码(通过wxswig生成的围绕我的自定义小部件的包装器)并执行它。在我的C++代码中,我使用std::function类来调用绑定(bind)函数(C++或Python)所以我创建了一个简单的类来用函数调用运算符包装PyObject。但是,当我尝试调用PyObject*时出现段错误。classPyMenuCallback{PyObject*Func;public:PyMenuCallback(constPyMenuCallback&op

vue3传属性时报错 [Vue warn]: Component is missing template or render function.

上网查这个问题,解决方案很多,没有一款适合我。。。先说我的解决办法,如果解决不了再往下看,我的原因是用的子组件的ref和子组件的标签名一样了:ChildComponent1ref="ChildComponent1":parent-data="data">template#slot-content>div>插槽content内容000000000/div>/template>template#slot-footer>div>插槽footer内容11111111/div>/template>/ChildComponent1>给ref改个名字就好了。。。使用技术:vue3+ts用的props传值,本

c++ - 如何用swig实例化模板类的模板方法?

我在C++中有一个类,它是一个模板类,这个类的一个方法在另一个占位符上模板化templateclassWhatever{public:templatevoidfoo(std::vectorvalues);}当我将这个类传输到swig文件时,我做了%template(Whatever_MyT)Whatever;不幸的是,当我尝试从python对Whatever_MyT的实例调用foo时,出现属性错误。我以为我必须用实例化成员函数%template(foo_double)Whatever::foo;这是我会用C++编写的内容,但它不起作用(我收到语法错误)问题出在哪里?

c++ - `make install` 使用 CMake + SWIG + Python

我正在编写一个C++库,它可以在Mac和Linux上从C++和Python使用。所以我决定在我的项目中使用CMake和SWIG。正如SWIG2.0文档中所述,SWIG和CMake的组合在我的Mac上也能正常工作。http://www.swig.org/Doc2.0/SWIGDocumentation.html#Introduction_build_system但是我有一个关于makeinstall的问题。输入cmake.和make后,成功生成了_example.so。但是makeinstall不起作用,因为自动生成的Makefile没有install目标。我想知道如何在Makefile