gpt4 book ai didi

python - 用于Python的带有C++的简单SWIG可以编译,但是输出似乎不正确?

转载 作者:行者123 更新时间:2023-12-02 10:33:08 25 4
gpt4 key购买 nike

我对SWIG(和C++)比较陌生,因此我尝试使用from this website示例
似乎是一个简单的代码。我在Visual Studio上成功编译了(我认为?)。

1>------ Rebuild All started: Project: minimal, Configuration: Release x64 ------
1>Performing Custom Build Tools
1>minimal.cpp
1>minimal_wrap.cxx
1> Creating library ..._minimal2.lib and object ...minimal2.exp
1>Generating code
1>Previous IPDB not found, fall back to full compilation.
1>All 70 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
1>Finished generating code
1>minimal.vcxproj -> C:\...\_minimal.pyd
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

但是然后当我尝试在spyder(ipython console)上运行它时
import _minimal
m1 = minimal.minimal()
print(m1)

输出 <minimal.minimal; proxy of <Swig Object of type 'minimal2 *' at 0x000001D0C68BDDE0>
在教程网站上,听起来我应该得到一些整数?
m1.print_num_instances()

此命令导致无输出...我的文件构建不正确吗?

最佳答案

因此,看来我必须添加“typemaps.i”并定义输出类型。我没有处理上面问题中使用的示例,但发现another example非常有用。

/* typemaps.i allows input and output pointer arguments to be specified using the names INPUT, OUTPUT, or INOUT */
%include "typemaps.i"

void hw1(double r1, double r2, double *OUTPUT);

该示例显示了他们的第一次尝试失败,并得到了类似的指针响应。然后在typeamps.i之后,它的hw1函数起作用了!

关于python - 用于Python的带有C++的简单SWIG可以编译,但是输出似乎不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61483759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com