【发布时间】:2020-12-31 07:27:03
【问题描述】:
我正在尝试包装 ONNX 标头以用于另一种语言。需要明确的是,它使用 C dll 并需要 C 标头,但是由于 ONNX 标头似乎缺少当前 ONNX 示例中使用的 OrtEnv 结构的定义,因此我在使用 C 标头进行编译时遇到了问题。
这是我试图用来包装的 ONNX api 标头。
还有样本
在第 30 行,它声明了一个指向结构的原始指针,但我在 api 标头中找不到定义,但我不明白。
有人可以详细说明我做错了什么吗?我只能看到返回 OrtEnv 的方法声明,但从不返回类型声明。
这里有一个完整的动态包,带有标题:
https://github.com/microsoft/onnxruntime/releases/download/v1.4.0/onnxruntime-win-x64-gpu-1.4.0.zip
将 dll 链接到您的应用程序并包含上述我遇到问题的标头应该很简单。
【问题讨论】:
-
你用什么语言编写你的程序?这应该是唯一使用的语言标签,即使您使用的是用 C 编写的库。
-
抱怨并不是来自 vcc,因为它使用 nim 包装,输出到 c 并链接 dll,因此使用 vcc,但甚至独立使用 vcc 它找不到 OrtEnv,因此无法找到定义C 标头中的 OrtEnv 实际上是问题而不是包装。另外,正如我所说,iv 查看了标题,我发现对 ortenc 的唯一引用是函数 defs 中的指针