首页 > 解决方案 > C onnx 标头找不到 OrtEnv 定义

问题描述

我正在尝试包装 ONNX 标头以用于另一种语言。需要明确的是,它使用 C dll 并需要 C 标头,但是由于 ONNX 标头似乎缺少当前 ONNX 示例中使用的 OrtEnv 结构的定义,我在使用 C 标头进行编译时遇到了问题。

https://github.com/microsoft/onnxruntime/blob/master/include/onnxruntime/core/session/onnxruntime_c_api.h

这是我试图用来包装的 ONNX api 标头。

和样本

https://github.com/microsoft/onnxruntime/blob/master/csharp/test/Microsoft.ML.OnnxRuntime.EndToEndTests.Capi/C_Api_Sample.cpp

在第 30 行,它声明了一个指向结构的原始指针,但我无法在 api 标头中找到它的定义,但我不明白一些东西。

有人可以详细说明我做错了什么吗?我所能看到的只是返回 OrtEnv 的方法声明,但从来没有返回类型声明。

这里有一个完整的动态包,带有标题:

https://github.com/microsoft/onnxruntime/releases/download/v1.4.0/onnxruntime-win-x64-gpu-1.4.0.zip

将 dll 链接到您的应用程序并包含上述我遇到问题的标头应该很简单。

标签: c++cdllheaderonnx

解决方案


如果标题不包含定义,则意味着作者不想将其提供给您。发生这种情况的原因有多种,其中之一是您不应该篡改内容。


推荐阅读