【发布时间】:2020-06-28 02:38:50
【问题描述】:
我正在尝试从 Linux 上的源代码构建 onnxruntime。根据这个instruction 我已经成功构建了python 轮子和共享库。但我还没有看到 C API 的标头。
有一个构建选项--build_csharp 似乎启用了 C#/C 包。我尝试添加此选项,但出现以下错误。
CMake Warning at CMakeLists.txt:137 (message):
Language Csharp is not found in the system
我安装了 dotnet-sdk-3.1 但仍然出现此错误。请问如何在Linux上正确生成onnxruntime C API?谢谢!
【问题讨论】:
-
阅读Modern C,然后阅读syscalls(2) 以及您正在使用的每个 C 函数的文档(例如from here...)和您的C 编译器(例如GCC 或 Clang...)。阅读GDB 的文档对于您的下一个问题,请提供一些minimal reproducible example
-
@BasileStarynkevitch 嗨,Basile,感谢您的评论。我正在尝试做的是构建 onnxruntime,这是一个用于机器学习推理的库。生成的构建文件包括共享库和 python 轮子。问题是没有生成 C 头文件,我不能在 C 中调用那些共享库。也许我应该删除 linux 标签,因为它实际上是一个纯粹的 onnxruntime 问题。
-
在 Linux 上,C# 可能意味着 mono-project.com ;你安装了吗?当然,C 和 C# 是 非常 不同的语言。 C 由 C11 标准 n1570 定义,GCC 是 C 编译器。关于共享库,请阅读 Drepper 的 How to write shared libraries 论文。你可以使用
gcc -fPIC -shared -Wall来编译它
标签: onnxruntime