Closed J1angX1n closed 1 month ago
如果你要用动态库,即 dll, 那么,你只需要依赖下面两个 .dll
如果你要依赖静态库,那么你需要用很多个 .lib 文件,并且,这些 .lib, 是有顺序的。 具体链接顺序,请参考 https://github.com/k2-fsa/sherpa-onnx/blob/ceb69ebd946a6f022d8349ba793d173fd0f5d204/cmake/sherpa-onnx-static.pc.in#L25
以你的截图为例,你的第43行,写的是 ucd.lib, 你把它放在第一个,应该是不对的。第一个应该要放 sherpa-onnx-c-api.lib
还有,看代码,你用的是.cs, 我们有提供 c# 的 nuget 包,你是否可以直接用?
如果你不能直接用,你去用我们提供的 .cs api, 是否可以?
具体代码在 https://github.com/k2-fsa/sherpa-onnx/tree/master/scripts/dotnet
如果你要用动态库,即 dll, 那么,你只需要依赖下面两个 .dll
- sherpa-onnx-c-api.dll
- onnxruntime.dll
如果你要依赖静态库,那么你需要用很多个 .lib 文件,并且,这些 .lib, 是有顺序的。 具体链接顺序,请参考
以你的截图为例,你的第43行,写的是 ucd.lib, 你把它放在第一个,应该是不对的。第一个应该要放 sherpa-onnx-c-api.lib
ue就模块引用这部分是c#,我会的c#也就这点了😂,不过按照方法1我用这俩文件的dll+lib总算编译通过了,感谢大佬指点
想尝试把这个语音模块集成到虚幻5中去,但是把相关的示例代码和在 https://huggingface.co/csukuangfj/sherpa-onnx-libs/tree/main/win64 下载的预编译的库(lib和dll,如下图)整理出来放入ue项目后编译会报错,
ue编译报的错误大多是未定义的符号,比如下面这个
我猜可能是缺少dll就自己按照doc上的加了
-DBUILD_SHARED_LIBS=ON
进行编译,出来的结果和网站上给的预编译的库一样还是只有少数几个lib有对应的dll但是我在文档网站上下载1.9.12这个版本的预编译库里面确实lib都是有对应的dll的,而且用这个版本的lib和dll虚幻5那边可以编译通过
我可能对这方面缺乏了解,如果新版本的代码要生成dll的话是需要修改什么配置吗
平台 win10/win11 ue5.3.2 已经安装vs2022