c++ - 预期的 std::vector, 收到 std::vector
问题描述
我在 C++ 中使用Essentia框架,我的代码在调试模式下编译并运行良好。但是当我尝试在发布模式下运行它时,这个片段会引发异常
void SpleeterWrapper::LoadFromWav(std::vector<StereoSample>& result, std::string path)
{
std::unique_ptr<Algorithm> audioLoader(AlgorithmFactory::create("AudioLoader", "filename", path));
Real sr;
int nchnls, bitRate;
std::string md5, codec;
audioLoader->output("audio").set(result);
audioLoader->output("sampleRate").set(sr);
audioLoader->output("numberChannels").set(nchnls);
audioLoader->output("md5").set(md5);
audioLoader->output("bit_rate").set(bitRate);
audioLoader->output("codec").set(codec);
audioLoader->compute();
audioLoader->reset();
}
例外是
libc++abi.dylib: terminating with uncaught exception of type essentia::EssentiaException: In AudioLoader::audio::set(): Error when checking types. Expected: `std::vector<StereoSample>`, received: `std::vector<StereoSample>`
这对我没有多大帮助,想知道我做错了什么,这是否可能是 Essentia 库的问题,是否有人遇到过这样的事情,以及是否有人对我可以在哪里找到问题有任何想法这里!
(我试过制作一个临时向量,然后用结果交换内容,同样的问题)(编辑:抱歉重复,不知道用谷歌搜索什么来找到解决方案,谢谢大家的输入)
解决方案
推荐阅读
- c# - C# 等价于 Java 列表
- gitattributes - 如何从 github 的语言学家中删除文件?
- javascript - 如何修改类方法?
- javascript - 如何在电子应用程序中实现 Socket.IO?
- javascript - How to get data using both params in node js
- java - 用于两种不同 URL 模式的 Spring mvc Swagger UI 端点
- java - 错误:运行程序时找不到或加载主类
- unity3d - Unity 3d 对象的 3d 四元数旋转 Lerp
- iis - Grafana 通过 IIS 中的反向代理
- firebase - Firebase 如何防止其他网站或黑客向我的数据库发帖?