swig 相关问题

SWIG是一个接口编译器,它将用C和C ++编写的程序与脚本语言(如Perl,Python,Ruby和Tcl)连接起来。

SWIG raise 语法错误 - 可能缺少分号

我是 SWIG 新手 我正在尝试为 python 制作一个 dll 包装器 以下是SWING接口文件的内容 %模块IviDCPwr %{ #包括 #包括 #包括 我是 SWIG 新手 我正在尝试为 python 制作一个 dll 包装器 以下是SWING接口文件的内容 %module IviDCPwr %{ #include <stdarg.h> #include <limits.h> #include <sys.types.h> #include "visatype.h" #include "visa.h" #include "ivi.h" #include "IviVisaType.h" #include "IviDCPwr.h" #include "IviDCPwrObsolete.h" %} %include "IviDCPwr.h" 以下是我使用的命令 .\swig.exe -I"C:/Program Files (x86)/IVI Foundation/IVI/Include" -I"C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Include" -python "IviDCPwr.i" 下面是上述命令的结果 C:\Program Files (x86)\IVI Foundation\IVI\Include\IviDCPwr.h(179) : Error: Syntax error - possibly a missing semicolon (';'). 以下是IviDCPwr.h的部分 168: #define IVIDCPWR_VAL_TRIG_RTSI_4 (18L) 169: #define IVIDCPWR_VAL_TRIG_RTSI_5 (19L) 170: #define IVIDCPWR_VAL_TRIG_RTSI_6 (20L) 171: 172: #define IVIDCPWR_VAL_TRIG_SRC_CLASS_EXT_BASE (500L) 173: #define IVIDCPWR_VAL_TRIG_SRC_SPECIFIC_EXT_BASE (1000L) 174: 175: /**************************************************************************** 176: *--------- IviDCPwr Class Instrument Driver Function Declarations ---------* 177: ****************************************************************************/ 178: /*- Required VXIplug&play Functions -*/ 179: ViStatus _VI_FUNC IviDCPwr_init (ViRsrc logicalName, 180: ViBoolean idQuery, 181: ViBoolean resetDevice, 182: ViSession *vi); 183: 184: ViStatus _VI_FUNC IviDCPwr_close (ViSession vi); 185: 186: ViStatus _VI_FUNC IviDCPwr_reset (ViSession vi); 187: 188: ViStatus _VI_FUNC IviDCPwr_self_test (ViSession vi, 189: ViInt16 *selfTestResult, 190: ViChar selfTestMessage[]); 191: 192: ViStatus _VI_FUNC IviDCPwr_error_query (ViSession vi, 193: ViInt32 *errorCode, 194: ViChar errorMessage[]); 这很可能是由并非来自此文件的 _VI_FUNC 定义引起的,并且 SWIG 对此一无所知。 添加 #define _VI_FUNC 像这样: %module IviDCPwr #define _VI_FUNC %{ #include <stdarg.h> #include <limits.h> #include <sys.types.h> #include "visatype.h" #include "visa.h" #include "ivi.h" #include "IviVisaType.h" #include "IviDCPwr.h" #include "IviDCPwrObsolete.h" %} %include "IviDCPwr.h"

回答 1 投票 0

如何将Faiss索引写入内存?

我想写一个faiss索引来备份在云端。 我可以使用 faiss.write_index(filename, f) 将其写入本地文件。 但是,我宁愿将其转储到内存以避免不必要的磁盘...

回答 2 投票 0

setuptools 构建多个扩展

我有一个c++项目,我已经成功地使用了python和PyPI。我的问题是,当使用 setuptools 构建多个扩展时,从 swig 生成的二进制文件没有存储在各自的

回答 1 投票 0

安装 faiss-cpu 时出错 - 没有名为“swig”的模块

我尝试通过 pip 安装 faiss-cpu (pip install faiss-cpu) 并收到以下错误: × faiss-cpu 的构建轮 (pyproject.toml) 未成功运行。 │ 退出代码:1 ╰─> [12

回答 1 投票 0

Quickfix python:UtcTimeStamp 上的内存泄漏

我开始使用库quickfix,并且在使用python版本时遇到了一个问题: swig/python 检测到“UtcTimeStamp *”类型的内存泄漏,未找到析构函数 当我查看源代码时...

回答 1 投票 0

无法使用 SWIG 构建 python 包

我想创建一个带有 SWIG C++ 绑定的本地 Python 包。但是,我在该过程的最后一步中没有成功,其中我需要调用 pip install -e 。到目前为止,我的 setup.py 已经...

回答 1 投票 0

SWIG 中的多字节“OUTPUT”参数?

我有一个 C 库,它有 3 个函数(所有参数都是固定长度的 uint8_t*,长度在编译时已知): 仅具有 2 个输出参数的一种 有 1 个输入参数的一个...

回答 1 投票 0

通过 OR 工具中的 SWIG 使用 Python 回调

我希望这是一个简单的 SWIG 问题。我正在使用 Google OR-Tools 优化库。它是一个封装在 SWIG 中的 C++ 库(我对此知之甚少)。我遇到了很大的困难

回答 1 投票 0

在 C 结构体中使用 SWIG 和指向函数的指针

我正在尝试为 C 库编写一个 SWIG 包装器,该库在其结构中使用指向函数的指针。我不知道如何处理包含函数指针的结构。一个简化的例子......

回答 3 投票 0

如何在不构建模块的情况下向 Python 公开 C++ 类

我想知道是否有任何方法可以将 C++ 类公开给 Python,但无需构建中间共享库。 这是我想要的场景。例如我有以下 C++ 类: 类...

回答 3 投票 0

为 SWIG 正确设置类型映射以使用特定方法

我尝试重做此处显示的内容,但有些东西不起作用,我看不到什么。 我们有一个包含此方法的 C++ 类(“Point”): int Point::myfunc(int a, std::vector...

回答 1 投票 0

如何将 Faiss 索引写入内存?

我想写一个faiss索引来备份在云端。 我可以使用 faiss.write_index(filename, f) 将其写入本地文件。 但是,我宁愿将其转储到内存以避免不必要的磁盘...

回答 2 投票 0

使用 SWIG 将 C++ 自定义单元类型转换为原始 Java 类型

我有 C++ 代码,正在尝试使用 SWIG 提供 Java 绑定。 structmeters_t:公共boost::units::quantity{}; 我希望尝试更换所有参考...

回答 1 投票 0

如何将 SWIG 与库打包

我正在使用 SWIG 为我的代码生成包装器,这使得 SWIG 成为直接依赖项。我想将其打包为库代码的一部分,并在编译源代码之前构建它。怎么...

回答 1 投票 0

SWIG:如何为Python包装*.a库文件?

我有一个很大的库文件libcore.a,是从一个大型C语言项目生成的。我的目标是将这个库包装到 Python 项目的包中。 SWIG 是我要使用的包装工具。这里是

回答 1 投票 0

SWIG C++ 到 Python:通过结构引用初始化类不起作用

我有一个 C++ 库,其中包含一个使用结构体引用构造的类: myclass.hpp: className::className (params& pars): memberInitList { //一些修改状态的代码...

回答 1 投票 0

SWIG 为 Python 包装了一个 void 函数,并带有对智能指针参数的输出引用

沿着这个问题的思路,假设我们有一个 C++ 结构体 S 和一个函数 makeS,它创建 S 的实例并将其分配给共享指针 p。这是一个独立的运行示例: #

回答 1 投票 0

是否可以将 SwigObject 向下转换为具体类型?

我有几个 C 文件: /*mid.h*/ #ifndef mid_h #定义mid_h #include typedef struct PtrRec *Ptr, PtrStruct; #endif /*mid_h*/ /*左.h*/ #ifndef left_h #定义left_h #

回答 1 投票 0

使用 SWIG 在 Python 中包装 C++ 类

示例.h: #ifndef 示例_H #定义EXAMPLE_H 数学课{ 民众: int pi() 常量; 无效 pi(int pi); 私人的: int _pi; }; #万一 示例.cpp: #include“示例.h” int 数学::pi()...

回答 3 投票 0

CMake 错误:找不到 SWIG(缺少:SWIG_DIR)

我想在 Node.JS 中测试 Pocketsphinx。它说我需要安装 Swig 版本 3.0.7 或更高版本。 我认为我正确安装了所有其他依赖项。我什至可以在

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.