Specinker 频谱分析引擎库

博主最近把specinker的引擎给封装成一个静态链接库,如果你也会编程,并且喜欢频谱的话,你真是太幸运了!

一些废话

博主本以为封装成动态链接库,可以供那些能调用dll的语言(c/c++,java,python...)统一使用,想法不错,别说java,python,我从Qt移植到VS上都非常困难,原因是Qt默认的编译器是MinGW,生成的静态链接库文件是.a。而vs是无法解析.a,只能解析.lib库,于是是又用MSVC编译,链接各种系统库之后,能运行,但一调用又出错,原因是我代码中创建线程和使用Qt的一些功能,需要QApplication,这个东西又需要VS搭建Qt的运行环境。整了几天的活,发现我封装的库还是只能在Qt中使用(VS上也是搭建Qt环境),并且只能通过C++调用。我想到了一条其他路线,就是通过系统的共享内存来传递数据,这样做可以跨语言处理频谱数据,但是处理起来困难会比较麻烦,最近也没什么时候去做这个事情。如果你知道有什么办法可以解决,请务必告诉我!

可惜的是你只能在Qt creator(MinGW)下使用这个库

这样一来或许意义突然就很小了,想了想还是发出来吧,万一刚好你就会Qt呢,毕竟Qt很强大的。

首先你可以先下载这个文件

https://italink.lanzous.com/igMyzehohmj

解压之后会得到两个文件夹,其中一个是引擎库(SpecEngine),另一个是测试项目(SpecNewTest)

我们先打开测试项目文件夹,再双击SpecNewTest.pro,会弹出Qt Creator,然后可能要Config一下项目

这个时候我们还不能运行,还没有链接引擎库,你可以试试取消pro文件中的注释,或者按如下操作手动导入静态库

右键项目名——添加库——外部库

库目录为刚刚引擎文件夹(SpecEngine)下的lib目录下的libspec.a,包含目录为include目录 ,选择好之后会是这样

还没完!你还需要导入一些系统库,在pro文件中追加

LIBS   +=  -lksuser -lole32 -lavrt -luuid -lfftreal

然后运行,播放音乐,你就会发现

 你可以在项目的widget中查看库的用法

猜你喜欢

转载自blog.csdn.net/qq_40946921/article/details/107262082
今日推荐