用NDK编译为.so文件没问题
但用MinGW64编译为.dll却各种报错
比如:
..\jni\libspeex\arch.h:65:2: error: #error You now need to define either FIXED_POINT or FLOATING_POINT
用NDK编译为.so文件没问题
但用MinGW64编译为.dll却各种报错
比如:
..\jni\libspeex\arch.h:65:2: error: #error You now need to define either FIXED_POINT or FLOATING_POINT
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
知道了,以CDT+MinGW64为例
在Properties -> C/C++ Build -> Settings -> GCC C Compiler -> Symbols里
Defined Symbols里添加FIXED_POINT、EXPORT=""、USE_KISS_FFT三项
在UnDefined Symbols里添加HAVE_CONFIG_H;
如果你用的是Speex官网下载的文件,需要将include/speex/speex_config_types.h.in的.in去掉,并将内容改为:
然后可能还会遇到找不到头文件的问题,这个我尝试在项目的Includes里加入include文件夹但没有效果,最后是手动改代码里的路径解决的。