前两天用TI 的DSP做实验的过程中,首先调用了sineanalyzer_diff.h文件并使用了其中的sineanalyzer函数,由于该函数中存在”_IQisqrt“计算函数,因此需要对IQmath库进行调用。
通过查找调用了math目录下的IQmath库后,出现了unresolved symbol _IQ24isqrt, first referenced in ./**.obj的错误,在网上查阅了资料后最终发现在
- 库函数应用无错误
- IQmathlib.h文件正确引用
- 对应的.h文件路径正确
的前提下,还需要有对应的“.lib”文件在工程下才可以正确编译,最终将IQmath_fpu32.lib文件加入工程后,问题解决
此外个人对这个函数有一些疑惑,不明白其为什么要用IQmath格式进行计算,其实计算过程倒不重要,但是关键在于采用了IQmath格式后最终结果错的离谱,而且TI官方文档在sineanalyzer函数的指导环节也没有说明要用IQ多少格式进行计算,最后还是修改了sineanalyzer_diff.h文件中的计算部分,避免使用函数“_IQisqrt”才满足了程序需要